Part Number Hot Search : 
S5573 4LVC1624 006BK641 BFP67W BC413B 2SC0829 SSU11 08852
Product Description
Full Text Search
 

To Download AT86RF231 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  1 5131d-zigb-12/03/07 at86rf230 features ? high performance rf-cmos 2.4 ghz radio transceiver targeted for ieee 802.15.4 and zigbee applications ? industry leading link budget (104 db): - programmable output power from -17 dbm up to 3 dbm - receiver sensitivity -101 dbm ? ultra-low power consumption: - sleep: 20 na - rx: 15.5 ma - tx: 16.5 ma (at max transmit power of 3 dbm) ? ultra-low supply voltage (1.8v to 3.6v) with intern al regulator ? optimized for low bom cost and ease of production: - few external components necessary (crystal, capacit ors and antenna) ? excellent esd robustness ? easy to use interface: - registers and frame buffer accessible through fast spi - only two microcontroller gpio lines necessary - one interrupt pin from radio transceiver - clock output with prescaler from radio transceiver ? radio transceiver features: - 128-byte sram for data buffering - programmable clock output to clock the host microco ntroller or as timer reference - integrated tx/rx switch - fully integrated pll with on-chip loop filter - fast pll settling time - battery monitor - fast power-up time < 1 ms ? special ieee 802.15.4-2003 hardware support: - fcs computation - clear channel assessment - energy detection / rssi computation - automatic csma-ca - automatic frame retransmission - automatic frame acknowledgement - automatic address filtering ? industrial temperature range: - -40 c to 85 c ? i/o and packages: - 32-pin low-profile qfn - rohs/fully green ? compliant to en 300 328/440, fcc-cfr-47 part 15, ar ib std-66, rss-210 ? compliant to ieee 802.15.4-2003 low power 2.4 ghz radio transceiver for zigbee? and ieee 802.15.4? applications at86rf230 preliminary 5131d-zigb-12/03/07
2 5131d-zigb-12/03/07 at86rf230 1 pin-out diagram figure 1-1. at86rf230 pin-out diagram avss avss avss rfp rfn avss tst irq mosi dvss miso sclk dvss clkm avss avss avss avdd evdd avss xtal2 xtal1 dvss dvss slp_tr dvss dvdd dvdd devdd dvss 32 31 30 29 28 27 26 25 9 10 11 12 13 14 15 16 12 3 4 5 6 7 8 24 23 22 21 20 19 18 17 at86rf230 rst sel avss exposed paddle note: the exposed paddle is electrically connected to th e die inside the package. it shall be soldered to the board to ensure electrical and thermal contact and good mechanical stability. disclaimer typical values contained in this datasheet are base d on simulations and testing. min and max values will be available when the radio tra nsceiver has been fully characterized. 2 overview the at86rf230 is a low-power 2.4 ghz radio transcei ver especially designed for zigbee/ieee 802.15.4 applications. the at86rf230 is a true spi-to-antenna solution. all rf-critical components except the antenna, crys tal and de-coupling capacitors are integrated on-chip. therefore, the at86rf230 is par ticularly suitable for applications like: ? wireless sensor networks ? industrial control ? home and building automation ? consumer electronics ? pc peripherals the at86rf230 can be operated by using an external microcontroller like atmel?s avr microcontrollers. a comprehensive software prog ramming description can be found in the application note avr2009 ?at86rf230 ? software programming model?.
3 5131d-zigb-12/03/07 at86rf230 3 general circuit description this single-chip radio transceiver provides a compl ete radio transceiver interface between the antenna and the microcontroller. it com prises the analog radio transceiver and the digital demodulation including time and fre quency synchronization, and data buffering. the number of external components is min imized such that only an antenna, a crystal and four decoupling capacitors are requir ed. the bidirectional differential antenna pins are used for transmission and receptio n, so that no external antenna switch is needed. the at86rf230 block diagram is shown in figure 3-1. figure 3-1. block diagram of the at86rf230 lna ppf adc agc pa frequency synthesis i q spi slave interface tx power control tx data limiter 5 rssi xosc control logic/ configuration registers clkm xtal1 xtal2 fame buffer tx bbp rx bbp ssbf irq sclk miso mosi slp_tr dclk rfp rfn digital domain analog domain dvreg batmon avreg ftn rst sel the received rf signal at pins rfn and rfp is diffe rentially fed through the low-noise amplifier (lna) to the rf filter (ppf) to generate a complex signal. this signal is converted down by mixers to an intermediate frequen cy and fed to the integrated channel filter (ssbf). the limiting amplifier provi des sufficient gain to drive the succeeding analog-to-digital converter (adc) and ge nerates a digital rssi signal with 3 db granularity. the adc output signal is sampled by the digital base band receiver (rx bbp). the transmit modulation scheme is offset-qpsk (o-qp sk) with half-sine pulse shaping and 32-length block coding (spreading) according to [1]. the modulation signal is generated in the digital transmitter (tx bbp) and a pplied to the fractional-n frequency synthesis (pll) generating a coherent phase modulat ion required for demodulation of o-qpsk signals. the frequency-modulated rf signal i s fed to the power amplifier (pa). an internal 128 byte ram for rx and tx (frame buffe r) buffers the data to be transmitted or the received data. two on chip low d ropout (ldo) voltage regulators provide the internal analog and digital 1.8v supply .
4 5131d-zigb-12/03/07 at86rf230 4 pin description table 4-1. at86rf230 pin list number name type description 1 avss ground analog ground 2 avss ground analog ground 3 avss ground ground for rf signals 4 rfp rf i/o differential rf signal 5 rfn rf i/o differential rf signal 6 avss ground ground for rf signals 7 tst digital input enables continuous transmission test mode; active high 8 rst digital input chip reset; active low 9 dvss ground digital ground 10 dvss ground digital ground 11 slp_tr digital input controls sleep, transmit st art and receive states; active high 12 dvss ground digital ground 13 dvdd supply regulated 1.8v supply voltage; digit al domain 14 dvdd supply regulated 1.8v supply voltage; digit al domain 15 devdd supply external supply voltage; digital do main 16 dvss ground digital ground 17 clkm digital output master clock signal output 18 dvss ground digital ground 19 sclk digital input spi clock 20 miso digital output spi data output (master inpu t slave output) 21 dvss ground digital ground 22 mosi digital input spi data input (master output slave input) 23 sel digital input spi select; active low 24 irq digital output interrupt request signal; act ive high 25 xtal1 analog input crystal pin or external clock supply 26 xtal2 analog input crystal pin 27 avss ground analog ground 28 evdd supply external supply voltage; analog doma in 29 avdd supply regulated 1.8v supply voltage; analo g domain 30 avss ground analog ground 31 avss ground analog ground 32 avss ground analog ground paddle avss ground analog ground; exposed paddle of qfn package 4.1 supply and ground pins evdd, devdd evdd and devdd are analog and digital supply voltag e pins of the at86rf230 radio transceiver.
5 5131d-zigb-12/03/07 at86rf230 avdd, dvdd avdd and dvdd are outputs of the internal 1.8v volt age regulators. the voltage regulators are controlled independently by the radi o transceivers state machine and are activated depending on the current radio transceive r state. the voltage regulators can be configured for external supply. for details refe r to section 9.4. avss, dvss avss and dvss are analog and digital ground pins re spectively. the analog and digital power domains should be sepa rated on the pcb, for further details see application note avr2005 "design consid erations for the at86rf230". 4.2 analog and rf pins rfp, rfn a differential rf port (rfp/rfn) provides common-mo de rejection to suppress the switching noise of the internal digital signal proc essing blocks. at the board-level, the differential rf layout ensures high receiver sensit ivity by rejecting any spurious interspersions originating from other digital ics s uch as a microcontroller. the rf port is designed for a 100  differential load. a dc path between the rf pins i s allowed. a dc path to ground or supply voltage is n ot allowed. therefore, when connecting a rf-load providing a dc path to the pow er supply or to ground, capacitive coupling is required as indicated in table 4-2. a simplified schematic of the rf front end is shown in figure 4-1. figure 4-1. simplified rf front-end schematic lna pa rfp rfn rxtx 0.9v tx rx cm feedback m0 at86rf230 pcb rf port dc values depend on the operating mode. in trx_off state (see section 7.1.2), when the analog front end is disabled, the rf pins are pulled to ground, preventing a floating voltage.
6 5131d-zigb-12/03/07 at86rf230 in receive mode, the rf input provides a low-impeda nce path to ground when transistor m0 (see figure 4-1) pulls the inductor center tap t o ground. a dc voltage drop of 20 mv across the on-chip inductor can be measured at the rf pins. in transmit mode, a control loop provides a common- mode voltage of 0.9v. transistor m0 is off, allowing the pa to set the common-mode v oltage. the common-mode capacitance at each pin to ground shall be < 30 pf to ensure the stability of this common-mode feedback loop. xtal1, xtal2 the pin xtal1 is the input of the reference oscilla tor amplifier (xosc), xtal2 is the output. a detailed description of the crystal oscil lator setup and the related xtal1/xtal2 pin configuration can be found in secti on 9.6. when using an external clock reference signal, xtal 1 shall be used as input pin. for further details refer to section 9.6.3. table 4-2. comments on analog and rf pins pin condition recommendation/comment rfp/rfn vdc = 0.9v (tx) vdc = 20 mv (rx) at both pins ac-coupling is required if an antenna with a dc pat h to ground is used. serial capacitance must be < 30 pf. xtal1/xtal2 cpar = 3 pf vdc = 0.9v at both pins parasitic capacitance (cpar) of the pins must be co nsidered as additional load capacitance to the crystal. 4.3 digital pins the digital interface of the at86rf230 compromises pins sel , sclk, mosi and miso forming the serial peripheral interface (spi) and pins clkm, irq, slp_tr and rst used as additional control signal between radio tr ansceiver and microcontroller. the digital radio transceiver interface is describe d in detail in section 6. 4.3.1 driver strength settings of digital output pi ns the driver strength of the digital output pins (mis o, irq) and clkm pin can be configured by register 0x03 (trx_ctrl_0) as describ ed in table 4-3. the capacitive load should be as small as possible and not larger than 50 pf when using the 2 ma minimum driver strength setting. gen erally, the output driver strength should be adjusted to the lowest possible value in order to keep the current consumption and the emission of digital signal harm onics low. table 4-3. digital output driver configuration pin default driver strength comment miso, irq 2 ma adjustable to 2 ma, 4 ma, 6 ma and 8 ma clkm 4 ma adjustable to 2 ma, 4 ma, 6 ma and 8 ma
7 5131d-zigb-12/03/07 at86rf230 4.3.2 pull-up and pull-down configuration of digita l input pins pulling resistors are internally connected to all d igital input pins in radio transceiver state p_on (see section 7.1.2). table 4-4 summarize s the pull-up and pull-down configuration. table 4-4 pull-up/pull-down configuration of digital input p ins in p_on state pin h ? ?? ? pull-up, l ? ?? ? pull-down rst h sel h sclk l mosi l slp_tr l in all other radio transceiver states, no pull-up o r pull-down resistors are connected to any of the digital input pins. 4.3.3 register description register 0x03 (trx_ctrl_0) the trx_ctrl_0 register controls the drive current of the digital output pads and the clkm clock rate. bit 7 6 5 4 0x03 pad_io pad_io_clkm trx_ctrl_0 read/write r/w r/w r/w r/w reset value 0 0 0 1 bit 3 2 1 0 0x03 clkm_sha_sel clkm_ctrl trx_ctrl_0 read/write r/w r/w r/w r/w reset value 1 0 0 1 ? bit [7:6] ? pad_io the register bits pad_io set the output driver curr ent of digital output pads miso and irq. table 4-5. digital output driver strength register bit value description 0 (1) 2 ma 1 4 ma 2 6 ma pad_io 3 8 ma notes: 1. reset values of register bits are underli ned characterized in the document. ? bit [5:6] ? pad_io_clkm the register bits pad_io_clkm set the output driver current of pin clkm.
8 5131d-zigb-12/03/07 at86rf230 table 4-6. clkm driver strength register bit value description 0 2 ma 1 4 ma 2 6 ma pad_io_clkm 3 8 ma ? bit 3 ? clkm_sha_sel refer to section 9.6.5. ? bit [2:0] ? clkm_ctrl refer to section 9.6.5. 5 application circuit an application circuit of the at86rf230 radio trans ceiver with a single-ended rf connector is shown in figure 5-1. the balun b1 tran sforms the 100 differential rf port (rfp/rfn) to a 50 single-ended rf port. the capacitors c1 and c2 pro vide ac coupling of the rf signals to the rf pins. figure 5-1. application circuit schematic rst sel
9 5131d-zigb-12/03/07 at86rf230 the power supply decoupling capacitors (cb2, cb4) a re connected to the external analog supply pin (evdd, pin 28) and the external d igital supply pin (devdd, pin 15). capacitors cb1 and cb3 are bypass capacitors for th e integrated analog and digital voltage regulators to ensure stable operation (1 f recommended value). all decoupling and bypass capacitors should be placed as close as possible to the at86rf230 pins and should have a low-resistance and low-inductance connection to ground to achieve the best performance. the crystal (xtal), the two load capacitors (cx1, c x2), and the internal circuitry connected to pins xtal1 and xtal2 form the crystal oscillator. to achieve the best accuracy and stability of the reference frequency, large parasitic capacitances should be avoided. crystal lines should be routed as short as possible and not in proximity of digital i/o signals. crosstalk from digital signals on the crystal pins or the rf pins can degrade the system performance. therefore, a low-pass filter (c3, r2) is placed close to the clkm output pin to reduce the radiation of signal harmonics. th is is not needed if the clkm pin is not used. then the output should be turned off duri ng device initialization. the application board ground plane should be separa ted into four independent fragments, the analog, the digital, the antenna and the xtal ground plane. the exposed paddle shall act as reference of the indivi dual grounds. for further details see application note avr2005 "d esign considerations for the at86rf230". table 5-1. example bill of materials designator description value manufacturer part number comment b1 smd balun 2.4 ghz wuerth 748421245 cb1 ldo vreg bypass capacitor 1 f cb2 power supply decoupling 1 f cb3 ldo vreg bypass capacitor 1 f cb4 power supply decoupling 1 f avx murata 0603yd105kat2a grm188r61c105ka12d x5r 10% 16v (0603) cx1 crystal load capacitor 12 pf cx2 crystal load capacitor 12 pf avx murata 06035a120ja grp1886c1h120ja01 cog 5% 50v (0603) c1 rf coupling capacitor 22 pf c2 rf coupling capacitor 22 pf epcos epcos avx b37930 b37920 06035a220jat2a c0g 5% 50v (0402 or 0603) c3 clkm low-pass filter capacitor 2.2 pf avx murata 06035a229da grp1886c1h2r0da01 cog 0.5 pf 50v (0603) designed for f clkm = 1 mhz r1 pull-down resistor 10 k recommended 0 , if continuous transmission is not required r2 clkm low-pass filter resistor 680 designed for f clkm = 1 mhz xtal crystal cx-4025 16 mhz sx-4025 16 mhz acal taitjen siward xwbbpl-f-1 a207-011
10 5131d-zigb-12/03/07 at86rf230 6 microcontroller interface this section describes the at86rf230 to microcontro ller interface. the interface comprises a slave spi and additional control signal s, see figure 6-1. the spi timing and protocol are described. figure 6-1. microcontroller to at86rf230 interface microcontroller at86rf230 mosi miso sclk clkm irq slp_tr mosi miso sclk gpio1/clk gpio2/irq gpio3 mosi miso sclk clkm irq slp_tr gpio4 spi sel sel sel rst rst master slave microcontrollers with a master spi, such as atmel?s avr family, interface directly to the at86rf230. the spi is used for frame buffer and reg ister access. the additional control signals are connected to the gpio/irq inter face of the microcontroller. table 6-1 introduces the radio transceiver i/o signals an d their functionality. table 6-1. signal description of microcontroller interface signal description sel spi select signal, active low mosi spi data (master output slave input) signal miso spi data (master input slave output) signal sclk spi clock signal clkm at86rf230 clock output, usable as: - microcontroller clock source - high precision timing reference irq at86rf230 interrupt request signal slp_tr at86rf230 multi purpose control signal (func tionality is state-depended): - sleep/wakeup - tx start - controls clkm output rst at86rf230 reset signal, active low
11 5131d-zigb-12/03/07 at86rf230 6.1 spi timing description the spi is designed to work in synchronous or async hronous mode. in synchronous mode, the clkm output of the radio t ransceiver is used as the master clock of the microcontroller. in this case the maxi mum spi clock frequency is 8 mhz. in asynchronous mode, the spi master clock (sclk) i s generated by the microcontroller itself. the maximum spi clock rate is limited to 7.5 mhz using this operating mode. if the clock signal from the radio transceiver pin clkm is not required, it may be disabled. figure 6-2 and figure 6-3 illustrate the spi timing and introduce its parameters. the corresponding timing parameter definition is given in table 11-4. figure 6-2. spi timing, global map and definition of timing pa rameters t 5 , t 6 , t 8 and t 9 figure 6-3. spi timing, detailed view and definition of timing parameters t 0 to t 4 bit 7 bit 6 t 1 t 0 t 2 bit 5 t 4 t 3 bit 7 bit 6 bit 5 sclk sel mosi miso the spi is based on a byte-oriented protocol and is always a bidirectional communication between master and slave. the spi mas ter starts the transfer by asserting sel = l. then the master generates eight spi clock cyc les to transfer a byte to the radio transceiver (via mosi). at the same ti me the slave transmits one byte to the master (via miso). when the master wants to receive one byte of data from the slave it must also transmit one byte to the slave. all bytes are transferred msb first. an spi transaction is finished by releasing sel = h. a spi register access consists of two bytes, a fram e buffer or sram access of two or more bytes, as described in section 6.2. sel = l enables the miso output driver of the radio tr ansceiver. the msb of miso is valid after t 1 (see section 11.4 parameter 11.4.3) and is updated at each falling edge of sclk. if the miso output driver is disabled, there is no internal pull-up resistor connected to the output. driving the appropriate si gnal level must be ensured by the
12 5131d-zigb-12/03/07 at86rf230 master device or an external pull-up resistor. note , when both sel and rst are active, the miso output driver is also enabled. the mosi line is sampled by the radio transceiver a t the rising edge of sclk. the signal must be stable before and after the rising e dge of sclk as specified by t 3 and t 4 , refer to section 11.4 parameters 11.4.5 and 11.4.6. this mode of spi operation is commonly called ?spi mode 0?. 6.2 spi protocol each transfer sequence starts with transferring a c ommand byte from spi master via mosi (see table 6-2) with msb first. this command b yte defines the access mode and additional mode-dependent information. table 6-2. spi command byte definition bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 mod e 1 0 register address [5:0] register access mode ? r ead access 1 1 register address [5:0] register access mode ? w rite access 0 0 1 reserved frame buffer access mode ? read acce ss 0 1 1 reserved frame buffer access mode ? write acc ess 0 0 0 reserved sram access mode ? read access 0 1 0 reserved sram access mode ? write access the different access modes are described within the following sections. in figure 6-4 to figure 6-14 logic values stated wi th x on mosi are ignored by the radio transceiver, but need to have a valid level. return values on miso stated as x shall be ignored by the microcontroller. 6.2.1 register access mode the register access mode is a two-byte read/write o peration and is initiated by setting sel = l. the first transferred byte on mosi is the com mand byte and must indicate a register access (see table 6-2) and a register addr ess (see table 12-1). on write access the second byte transferred on mosi contains the write data to the selected address (see figure 6-4). figure 6-4. packet structure ? register write access 1 address[5:0] 1 write data[7:0] mosi xx xx miso byte 1 (command byte) byte 2 (data byte) on read access the content of the selected register address is returned in the second byte on miso (see figure 6-5).
13 5131d-zigb-12/03/07 at86rf230 figure 6-5. packet structure ? register read access 1 address[5:0] 0 xx mosi xx read data[7:0] miso byte 1 (command byte) byte 2 (data byte) each register access must be terminated by setting sel = h. figure 6-6 illustrates a typical spi sequence for a register access sequence for write and read respectively. figure 6-6. example spi sequence - register access mode xx xx xx read data write command write data read command xx sclk sel mosi miso register write access register read access 6.2.2 frame buffer access modes the frame buffer read access and the frame buffer w rite access are used to upload or download frames to the microcontroller. each access starts by setting sel = l. the first byte transferred on mosi is the command byte and must indicate a frame buffer acces s mode according to the definition in table 6-2. on frame buffer write access the second byte transf erred on mosi contains the frame length (phr field) followed by the payload data (ps du) as shown by figure 6-7. figure 6-7. packet structure - frame buffer write access on frame buffer read access phr and psdu are transf erred via miso starting with the second byte. after the psdu data bytes one more byte can be transferred containing the link quality indication (lqi) value of the received frame, for details refer to section 8.5. figure 6-8 illustrates the packet s tructure of a frame buffer read access. note, the frame buffer read access can be terminate d at any time without any consequences by setting sel = h, e.g. after reading the frame length byte only .
14 5131d-zigb-12/03/07 at86rf230 figure 6-8. packet structure - frame buffer read access the number of bytes n for one frame buffer access is calculated as follo w: receive: n = 3 + frame_length [command byte, frame length byte, psdu data, lqi byte] transmit: n = 2 + frame_length [command byte, frame length byte, psdu data] the maximum value of frame_length is 127 bytes. that means that n 130 for frame buffer read access and n 129 for frame buffer write access. each read or wr ite of a data byte increments automatically the address coun ter of the frame buffer until the access is terminated by setting sel = h. figure 6-9 and figure 6-10 illustrate an example sp i sequence of a frame buffer access to write and read a frame with 4-byte psdu r espectively. figure 6-9. example spi sequence - frame buffer write sequence of a frame with 4-byte psdu command phr psdu 1 psdu 2 psdu 3 psdu 4 xx xx xx xx xx xx sclk sel mosi miso figure 6-10. example spi sequence - frame buffer read sequence of a frame with 4-byte psdu command xx xx xx xx xx xx phr psdu 2 psdu 1 psdu 4 psdu 3 xx lqi sclk sel mosi miso access violations during a frame buffer write or re ad access are indicated by a trx_ur interrupt. for further details refer to sect ion 9.3.3. 6.2.3 sram access mode the sram access mode allows access to certain bytes within the frame buffer. this may reduce spi traffic.
15 5131d-zigb-12/03/07 at86rf230 the sram access mode is useful, for instance, if a transmit frame is already stored in the frame buffer and certain bytes (e.g. sequence n umber or address field) need to be replaced before retransmitting the frame. furthermo re, it can be used to access only the lqi value after frame reception. a detailed des cription of the user accessible frame content can be found in section 9.3.2. each access starts by setting sel = l. the first transferred byte on mosi shall be t he command byte and must indicate a sram access mode a ccording to the definition in table 6-2. the following byte indicates the start a ddress of the write or read access. the address space is 0x00 to 0x7f. the microcontrol ler software has to ensure to access only to the valid address space. on sram write access, one or more bytes of write da ta are transferred on mosi starting with the third byte of the access sequence (see figure 6-11). figure 6-11. packet structure - sram write access on sram read access, one or more bytes of read data are transferred on miso starting with the third byte of the access sequence (see figure 6-12). figure 6-12. packet structure - sram read access as long as sel is logic low, every subsequent byte read or write increments the address counter of the frame buffer until the sram access is terminated by setting sel = h. figure 6-13 and figure 6-14 illustrate an example s pi sequence of a sram access to write and read a data package of 5 byte length resp ectively. figure 6-13. example spi sequence ? sram write access sequence of a 5 byte data package command address data 1 data 2 data 3 data 4 xx xx xx xx xx xx data 5 xx sclk sel mosi miso
16 5131d-zigb-12/03/07 at86rf230 figure 6-14. example spi sequence ? sram read access sequence o f a 5 byte data package command address xx xx xx xx xx xx data 2 data 1 data 4 data 3 xx data 5 sclk sel mosi miso notes: ? because the frame buffer is shared between tx and rx, the frame data are overwritten by new incoming frames. if the tx frame data is to be retransmitted, it must be ensured that no frame was received meanwhil e. ? if the sram access mode is used to upload received frames, the frame buffer contains all frame data except the frame length byt e. the frame length information can be accessed only using the frame buffer read ac cess. ? it is not possible to transmit received frames wit hout a frame buffer read and write operation by the microcontroller. ? frame buffer access violations are not indicated b y a txr_ur interrupt when using the sram access mode (see section 9.3.3) 6.3 radio transceiver identification the at86rf230 can be identified by four registers. one register contains an unique part number and one register the corresponding vers ion number. additional two registers contain the jedec manufacturer id. 6.3.1 register description register 0x1c (part_num) bit 7 6 5 4 3 2 1 0 0x1c part_num part_num read/write r r r r r r r r reset value 0 0 0 0 0 0 1 0 ? bit [7:0] ? part_num this register bits part_num contain the radio trans ceiver part number. table 6-3. radio transceiver part number register bits value[7:0] description part_num 2 at86rf230 part number register 0x1d (version_num) bit 7 6 5 4 3 2 1 0 0x1d version_num version_num read/write r r r r r r r r reset value 0 0 0 0 0 0 1 0
17 5131d-zigb-12/03/07 at86rf230 ? bit [7:0] ? version_num this register bits version_num contain the radio tr ansceiver version number. table 6-4. radio transceiver version number register bits value[7:0] description 1 at86rf230 revision a version_num 2 at86rf230 revision b register 0x1e (man_id_0) bit 7 6 5 4 3 2 1 0 0x1e man_id_0 man_id_0 read/write r r r r r r r r reset value 0 0 0 1 1 1 1 1 ? bit [7:0] ? man_id_0 bits [7:0] of the 32 bit jedec manufacturer id are stored in register bits man_id_0. bits [15:8] are stored in register 0x1f (man_id_1). the highest 16 bits of the id are not stored in registers. table 6-5. jedec manufacturer id ? bits [7:0] register bits value[7:0] description man_id_0 0x1f atmel jedec manufacturer id bits [7:0] of 32 bit manufacturer id: 00 00 00 1f register 0x1f (man_id_1) bit 7 6 5 4 3 2 1 0 0x1f man_id_1 man_id_1 read/write r r r r r r r r reset value 0 0 0 0 0 0 0 0 ? bit [7:0] ? man_id_1 bits [15:8] of the 32 bit jedec manufacturer id are stored in register bits man_id_1. bits [7:0] are stored in register 0x1e (man_id_0). the upper 16 bits of the id are not stored in registers. table 6-6. jedec manufacturer id ? bits [15:8] register bits value[7:0] description man_id_1 0x00 atmel jedec manufacturer id bits [15:8] of 32 bit manufacturer id: 00 00 00 1f 6.4 sleep/wake-up and transmit signal (slp_tr) the slp_tr signal is a multi-functional pin. its fu nction relates to the current state of the at86rf230 and is summarized in table 6-7. the r adio transceiver states are explained in detail in section 7.
18 5131d-zigb-12/03/07 at86rf230 table 6-7. slp_tr multi-functional pin radio transceiver status function transition descrip tion trx_off sleep l  h takes the radio transceiver into sleep state sleep wakeup h  l takes the radio transceiver into trx_off state rx_on disable clkm l  h takes the radio transceiver into rx_on_noclk sta te and disables clkm rx_on_noclk enables clkm h  l takes the radio transceiver into rx_on state and enables clkm rx_aack_on disable clkm l  h takes the radio transceiver into rx_aack_on_nocl k state and disables clkm rx_aack_on_noclk enables clkm h  l takes the radio transceiver into rx_aack_on stat e and enables clkm pll_on tx start l  h starts frame transmission tx_aret_on tx start l  h starts tx_aret transaction in states pll_on and tx_aret_on, the slp_tr pin is used as trigger input to initiate a tx transaction. here pin slp_tr is sensi tive on rising edge only. after initiating a state change by a rising edge at pin slp_tr in radio transceiver states trx_off, rx_on or rx_aack_on the radio transceiver remains in the new state as long as the pin is logical high and returns to the preceding state with the falling edge. the sleep state is used when radio transceiver func tionality is not required, and thus the at86rf230 can be powered down to reduce the ove rall power consumption. a power-down scenario is shown in figure 6-15. when the radio transceiver is in trx_off state the microcontroller force the at86rf2 30 to sleep by setting slp_tr = h. if the clkm output provides a clock to the microcontroller this clock is switched off after 35 clock cycles. this enables a microcontroller in a synchronous system to complete its power-down routine and preve nt dead-lock situations. the at86rf230 awakes when the microcontroller releases pin slp_tr. this concept provides the lowest possible power consumption. figure 6-15. sleep and wake-up initiated by asynchronous microc ontroller timer output (for timing information see table 7-1) clkm slp_tr a s y n c t im e r (m ic r o c o n t ro lle r ) e la p s e d 35 main clock cycles ttr2 t tr2 for synchronous systems, where clkm is used as a mi crocontroller clock source and the spi master clock (sclk) is directly derived fro m clkm, the at86rf230 supports an additional power-down mode for receive operating states rx_on and rx_aack_on. if an incoming frame is expected and no other appli cations are running on the microcontroller, it can be powered down without mis sing incoming frames.
19 5131d-zigb-12/03/07 at86rf230 this can be achieved by a rising edge on pin slp_tr which turns off the clkm output 35 clock cycles afterwards. the radio transceiver s tate changes from rx_on or rx_aack_on to rx_on_noclk or rx_aack_on_noclk respe ctively. in case that a frame is received the radio transcei ver enters the state busy_rx/busy_rx_aack and the clock output clkm is a utomatically switched on again. this scenario is shown in figure 6-16. the power consumption of the radio transceiver is s imilar in state rx_on_noclk/rx_aack_on_noclk and state rx_on, becau se only the clkm output is switched off. figure 6-16. wake-up initiated by radio transceiver interrupt clkm slp_tr irq t ra n s c e iv e r ir q is s u e d 35 main clock cycles typ. 5s 6.5 interrupt logic 6.5.1 overview the at86rf230 differentiates between six interrupt events. each interrupt is enabled or disabled by writing the corresponding bit to the interrupt mask register 0x0e (irq_mask). internally, each interrupt is stored as a separate bit of the interrupt status register. all interrupt lines are combined via logi cal ?or? to one external interrupt line (irq). if the irq pin issues, the microcontroller s hall read the interrupt status register 0x0f (irq_status) to determine the reason for the i nterrupt. a read access to this register clears the interrupt status register and t he irq pin, too. interrupts are not cleared automatically when the event that caused th em is not valid anymore. exception: the pll_lock irq clears the pll_unlock irq and vice versa. the supported interrupts for the basic operating mode (see sectio n 7.1) are summarized in table 6-8. table 6-8. interrupt description in basic operating mode irq name comments details irq_7: bat_low indicates a supply voltage below the programmed threshold. section 9.5.3 irq_6: trx_ur indicates a frame buffer access viola tion (under run). section 9.3.3 irq_3: trx_end rx: indicates the completion of a f rame reception. tx: indicates the completion of a frame transmissi on. section 7.1.3 section 7.1.3 irq_2: rx_start indicates a sfd detection. the trx_ state changes to busy_rx. section 7.1.3 irq_1: pll_unlock indicates pll unlock. the pa is t urned off immediately, if the radio transceiver is in busy_tx/busy_tx_aret state. section 9.7.4 irq_0: pll_lock indicates pll lock section 9.7.4 using the extended operating mode, the interrupts a re handled in a slightly different way. a detailed description can be found in section 7.2.4.
20 5131d-zigb-12/03/07 at86rf230 6.5.2 register description register 0x0e (irq_mask) the irq_mask register is used to enable (set regist er bit to 1) or disable (set register bit to 0) interrupt events by writing the correspon ding bit to the interrupt mask register. bit 7 6 5 4 0x0e mask_bat_low mask_trx_ur reserved irq_mask read/write r/w r/w r/w r/w reset value 1 1 1 1 bit 3 2 1 0 0x0e mask_trx_end mask_rx_start mask_pll_unlock mask_pll_lock irq_mask read/write r/w r/w r/w r/w reset value 1 1 1 1 if an interrupt will be enabled or disabled, it is recommended to read the interrupt status register 0x0f (irq_status) first to clear the histo ry. register 0x0f (irq_status) the irq_status register contains the status of the individual interrupts. a read access to this register resets all interrupt bits. bit 7 6 5 4 0x0f bat_low trx_ur reserved irq_status read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x0f trx_end rx_start pll_unlock pll_lock irq_statu s read/write r r r r reset value 0 0 0 0 by reading the register after an interrupt is signa led at irq pin, the reason for the interrupt can be identified. a detailed description of the individual interrupts can be found in table 6-8.
21 5131d-zigb-12/03/07 at86rf230 7 operating modes 7.1 basic operating mode this section summarizes all states to provide the b asic functionality of the at86rf230, such as receiving and transmitting frames, and powe ring up and down. the basic operating mode is designed for ieee 802.15.4 applic ations; the corresponding radio transceiver states are shown in figure 7-1. figure 7-1. basic operating mode state diagram (for state tran sition timing data refer to table 7-1) 2 t r x _ o f f s l p _ t r = h s l p _ t r = l p l l _ o n rx_on pll_on trx_off (clock state) xosc=on pull=off r x _ o n p_on (power-on after vdd) xosc=on pull=on sleep (sleep state) xosc=off pull=off (allstatesexceptp_on) force_trx_off (allstatesexceptsleep) sfd detected frame end frame end busy_tx (transmit state) pll_on (pll state) rx_on (rx listen state) busy_rx (receive state) t r x _ o f f t r x _ o f f 1 3 4 5 7 6 8 9 11 10 rx_on_noclk (rx listen state) clkm=off s l p _ t r = h s l p _ t r = l 12 13 tx_start slp_tr=h or sfd detected reset rst=h (fromallstates) rst=l legend: blue: spiwritetoregistertrx_state(0x02) red: controlsignalsviaicpin green: event basicoperatingmodestates statetransitionnumber,timingdataintable71 x 7.1.1 state control the radio transceiver state is controlled by two si gnal pins (slp_tr, rst ) and the register 0x02 (trx_state). a successful state chang e shall be confirmed by reading the radio transceiver status from register 0x01 (tr x_status). if trx_status = 0x1f (state_transition_in_progress) the at86rf230 is on a state transition. do not try to initiate a fur ther state change while the radio transceiver is in state_transition_in_progress.
22 5131d-zigb-12/03/07 at86rf230 the pin slp_tr is a multifunctional pin. depending on radio transceiver state the rising edge of slp_tr causes the following state transitio ns: ? trx_off  sleep ? rx_on  rx_on_noclk ? pll_on  busy_tx for further details to the functionality of pin slp _tr refer to section 6.4. the pin rst causes a reset of all registers (register bits clk m_sha_sel and clkm_ctrl are shadowed, for details refer to sectio n 9.6.4) and forces the radio transceiver into trx_off state. however, if the dev ice is in the p_on state it remains in the p_on state. for all states, the state change commands force_trx _off or trx_off lead to a transition into trx_off state. if the radio transce iver is in the busy_rx or busy_tx state, the command force_trx_off interrupts the act ive receiving or transmitting process, and forces an immediate transition. in con trast to that the trx_off command is stored until a currently ongoing frame reception or transmission has finished. after the end of the frame, the transition to trx_off is performed. the completion of each requested state change shall always be confirmed by reading the register 0x01 (trx_status). 7.1.2 basic operating mode description 7.1.2.1 p_on - power-on after v dd when the external supply voltage (v dd ) is firstly applied to the radio transceiver, the system goes into the p_on state. an on-chip reset i s performed. the crystal oscillator gets activated and the master clock is provided to the clkm pin after the crystal oscillator has stabilized. clkm can be used as a cl ock source to the microcontroller. the on-chip power-on-reset sets all registers to th eir default values. a dedicated reset signal from the microcontroller at the pin rst is not necessary, but recommended for hardware/software synchronization reasons. the rese t impulse should have a minimum length as specified in section 11.4, see parameter 11.4.12. all digital inputs have pull-up or pull-down resist ors (see table 4-4). this is necessary to support microcontrollers where gpio signals are floating after reset. the input pull- up and pull-down resistors are disabled when the ra dio transceiver leaves the p_on state. prior to leaving p_on, the microcontroller must set all digital input pins (mosi, rst , sclk, sel , slp_tr) to their default operating values. once the supply voltage has stabilized and the crys tal oscillator has settled (see section 11.5, parameter 11.5.5), a spi write access to the register 0x02 (trx_state) with the command trx_off or force_trx_off initiates a state change from p_on to trx_off. 7.1.2.2 sleep ? sleep state in sleep state, the entire radio transceiver is dis abled. no circuitry is operating. the at86rf230 current consumption is reduced to leakage current only. this state can only be entered from state trx_off b y setting the pin slp_tr = h. if clkm is enabled, the sleep state is entered 35 clkm cycles after the rising edge. at that time clkm is turned off. if the clkm output is turned off (bits clkm_ctrl = 0 in register 0x03), the sleep state is entered immediat ely.
23 5131d-zigb-12/03/07 at86rf230 setting slp_tr = l returns the radio transceiver to the trx_off state. it is recommended that pin slp_tr should be active for a minimum of 40 clkm cycles to completely power down the radio transceiver. during sleep state, the register contents remain va lid while the content of the frame buffer is cleared. 7.1.2.3 trx_off ? clock state in trx_off state the spi interface and the crystal oscillator are enabled. the digital voltage regulator (dvreg) is enabled and provides 1 .8v to the digital core to make the frame buffer available (see section 9.1). the micro controller can access all digital functions and if enabled, the clkm output supplies a clock. the pin slp_tr is enabled for state control. 7.1.2.4 pll_on ? pll state entering the pll_on state from trx_off state enable s the analog voltage regulator (avreg) first. after the voltage regulator has been settled, the pll frequency synthesizer is enabled. when the pll has been settl ed at the receive frequency, a successful pll lock is indicated by issuing a pll_l ock interrupt. if an rx_on command is issued in pll_on state, the receiver is immediately enabled. if the pll has not been settled before, actual fram e reception can only happen once the pll has locked. the pll_on state corresponds to the tx_on state in ieee 802.15.4. 7.1.2.5 rx_on and busy_rx ? rx listen and receive s tate in rx_on state the receiver blocks and the pll freq uency synthesizer are enabled. the at86rf230 receive mode is internally divided in to rx_on state and busy_rx state. there is no difference between these states with respect to the analog radio transceiver circuitry, which is always turned on. d uring rx_on state, only the preamble detection of the digital signal processing is runni ng. when a preamble and a valid sfd are detected, also the digital receiver is turned o n. the radio transceiver enters the busy_rx state and a rx_start interrupt is generated . during the frame reception frame data are stored co ntinuously in the frame buffer until the last byte was received. the completion of the f rame reception is indicated by a trx_end interrupt and the radio transceiver reenter s the state rx_on. at the same time the register bit rx_crc_valid (register 0x06) is updated with the result of the fcs check (see section 8.2). note, settings of address registers 0x20 to 0x2b do not affect the frame reception in basic operating mode. frame address filtering is on ly applied when using the extended operating mode (see section 7.2). 7.1.2.6 rx_on_noclk ? rx listen state without clkm if the radio transceiver is listening for an incomi ng frame and the microcontroller is not running an application, the microcontroller can be powered down to decrease the total system power consumption. this special power-down s cenario for systems running in clock synchronous mode (see section 6.4) is support ed by the at86rf230 using the state rx_on_noclk. this state can only be entered by setting slp_tr = h while the at86rf230 is in the rx_on state. the clkm pin is disabled 35 clock cycl es after the rising edge at the slp_tr pin. this allows the microcontroller to comp lete its power-down sequence. the
24 5131d-zigb-12/03/07 at86rf230 reception of a frame is indicated to the microcontr oller by a rx_start interrupt. clkm is turned on again, and the radio transceiver enter s the busy_rx state (see section 6.4, figure 6-16). the end of the transaction is indicated to the micr ocontroller by a trx_end interrupt. after the transaction has been completed, the radio transceiver enters the rx_on state. the radio transceiver only reenters the rx_o n_noclk state, when the next rising edge at pin slp_tr occurs. if the radio transceiver is in the rx_on_noclk stat e, and the slp_tr pin is reset to logic low, it enters the rx_on state, and it starts to supply clock on the clkm pin again. in states rx_on_noclk and rx_on, the current consum ption is about the same, because only the clkm output is switched off in sta te rx_on_noclk. 7.1.2.7 busy_tx ? transmit state a transmission can only be started in state pll_on. there are two ways to start a transmission: ? rising edge of slp_tr ? tx_start command to register 0x02 (trx_state). either of these causes the at86rf230 to enter the b usy_tx state. during the transition to busy_tx state, the pll fre quency shifts to the transmit frequency. transmission of the first data chip of t he preamble starts after 16 s to allow pll settling and pa ramping, see figure 7-2. after transmission of the preamble and the sfd, the frame buffer content is transmitted. the last two bytes to be transmitted are the fcs (s ee figure 8-2). the radio transceiver can be configured to autonomously compute the fcs b ytes and append it to the transmit data. the register bit tx_auto_crc_on in r egister 0x05 (phy_tx_pwr) needs to be set to 1 to enable this feature. for fu rther details refer to section 8.2.when the frame transmission is completed, the radio tran sceiver automatically turns off the power amplifier, generates a trx_end interrupt and returns to pll_on state. note that in case the phr indicates a frame length of zero, the transmission is aborted. 7.1.3 interrupt handling in basic operating mode all interrupts of the at86rf230 (see table 6-8) are supported during operation in basic operating mode. two interrupts are used to support rx and tx operat ion of the radio transceiver. on receive the rx_start interrupt indicates the detect ion of a valid sfd. the trx_end interrupt indicates the completion of the frame rec eption or frame transmission. figure 7-2 shows a receive/transmit transaction and the related interrupt events in basic operating mode. one device is assumed to oper ate as transmitter (device 1), the second one as receiver (device 2). processing delay s are typical values.
25 5131d-zigb-12/03/07 at86rf230 figure 7-2. timing of rx_start and trx_end interrupts in basic operating mode (see register 0x0f) 128 160 192 0 352 -16 time [s] rx (device 2) frame on air trx_end tx (device1) pll_on busy_tx pll_on irq slp_tr trx_state typ. processing delay 16 s trx_end rx_start 8 s 16 s rx_listen busy_rx rx_listen irq trx_state typ. processing delay preamble sfd phr psdu 4 1 1 5 number of octets frame content 7.1.4 basic mode timing the following paragraphs depict the transitions bet ween states and their timing. 7.1.4.1 power-on and wake-up procedure the power-on sequence and the wake-up procedure is shown in figure 7-3. figure 7-3. wake-up procedure from sleep and p_on to rx_on (pl l locked) 0 600 500 700 active blocks 800 900 1000 1100 ftn bg dvreg avreg 16 s pll timer 256 s timer 128 s trx_off state pll_on command pll_on, rx_on slp_tr=0 xosc typical block settling time, stays on block active waiting for spi commands xosc delivers clock clkm delivers clock clock stable irq pll locked signals/events rx_on rx_on sleep pin ~400 time [ s] time [ s] ? ? ? timer 128 s evdd on xosc trx_off p_on clkm_ctrl ? active blocks state command signals/events setting pin slp_tr = l in sleep state enables the c rystal oscillator. after 0.4 ms (typ.), the internal clock signal is available. aft er another 128 s the clock signal is provided at the clkm pin if enabled. an additional 256 s timer ensures that frequency stability is sufficient to drive filter tuning (ftn ) and the pll. after the digital voltage regulator has been settled, the radio transceiver e nters the trx_off state and waits for further commands.
26 5131d-zigb-12/03/07 at86rf230 in trx_off state, entering the commands pll_on or r x_on initiates a ramp-up sequence of the analog voltage regulator. rx_on sta te can be entered any time during pll_on state regardless whether the pll has already locked. when the wake-up sequence is started from p_on stat e (v dd first applied to the radio transceiver) the state machine stops after the 128 s timer expires to wait for a valid trx_off command from the microcontroller. the defau lt clkm frequency in p_on state is 1 mhz. 7.1.4.2 reset procedure rst = l sets all registers to their default values (se e table 12-2). exception, register bits clkm_ctrl of register 0x03 (trx_ctrl_0) are sh adowed at reset. for details refer to section 9.6.4. after releasing the reset pin ( rst = h) a calibration cycle of the ftn is started and the digital voltage regulator is turned on. the state t rx_off is entered and the status of the main state machine changes from state_transitio n_in_progress to trx_off. this sequence is identical for all radio transceive r states except in state p_on. the state machine does not leave the state p_on after a reset in this state. instead, the procedure described in section 7.1.2.1 must be foll owed to enter the trx_off state for the very first time. figure 7-4 describes the reset procedure once the p_on state was left. note that the access to the device should not occur earlier than 625 ns after releasing the reset pin. figure 7-4. reset procedure x+100 active blocks ftn bg dvreg trx_off state command xosc typical block settling time, stays on block active waiting for spi commands signals/events reset rst=1 pin x time [ s] time [ s] rst=0 0 20 7.1.4.3 state transition timing the transition numbers (first column) in table 7-1 correspond to figure 7-1 and do not include spi access time if not otherwise stated. se e measurement setup in figure 5-1. table 7-1. state transition timing no symbol transition time [s] (tppical) comments 1 t tr1 p_on trx_off 880 depends on external bypass capacitor a t dvdd (1 f nom) and crystal oscillator setup (cl = 10 pf) 2 t tr2 sleep trx_off 880 depends on external bypass capacitor a t dvdd (1 f nom) and crystal oscillator setup (cl = 10 pf) 3 t tr3 trx_off sleep 35 f clkm = 1 mhz 4 t tr4 trx_off pll_on 180 depends on external bypass capacitor at avdd (1 f nom). 5 t tr5 pll_on trx_off 1
27 5131d-zigb-12/03/07 at86rf230 no symbol transition time [s] (tppical) comments 6 t tr6 trx_off rx_on 180 depends on external bypass capacitor at avdd (1 f nom). 7 t tr7 rx_on trx_off 1 8 t tr8 pll_on rx_on 1 9 t tr9 rx_on pll_on 1 10 t tr10 pll_on busy_tx 16 when asserting slp_tr pin first symbol transmission is delayed by 16 s (pll settling and pa ramp up). 11 t tr11 busy_tx pll_on 32 32 s pll settling time 12 t tr12 all states trx_off 1 using trx_cmd force_trx_off (see registe r 0x02), not valid for sleep mode 13 t tr13 rst = l trx_off 120 depends on external bypass capacitor a t dvdd (1 f nom), not valid for p_on mode the state transition timing is calculated based on the timing of the individual blocks as shown in figure 7-3. the worst case values include maximum operating temperature, minimum supply voltage, and device parameter variat ions. table 7-2. block settling time block time [s] (typical) time [s] (worst case) comments xosc 500 1000 until clock signal is provided at clk m pin. depends on crystal q factor and load capacitor dvreg 60 1000 depends on external bypass capacitor at dvdd (cb3 = 1 f nom., 10 f worst case) avreg 60 1000 depends on external bypass capacitor at avdd (cb1 = 1 f nom., 10 f worst case) pll, initial 100 150 pll, rx tx 16 pll settling time pll, tx rx 32 pll settling time 7.1.5 register description register 0x01 (trx_status) the trx_status register signals the current state o f the radio transceiver as well as the status of the cca measurement. note, a read acc ess to the register clears bits cca_done and cca_status. this register is used for extended and basic operat ing mode. the extended operating mode functionality is described in section 7.2. bit 7 6 5 4 0x01 cca_done cca_status reserved trx_status trx_status read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x01 trx_status trx_status read/write r r r r reset value 0 0 0 0
28 5131d-zigb-12/03/07 at86rf230 ? bit 7 ? cca_done refer to section 8.6. ? bit 6 ? cca_status refer to section 8.6. ? bit 5 ? reserved ? bit [4:0] ? trx_status the register bits trx_status signal the current rad io transceiver status. if the requested state transition is not completed yet, th e trx_status returns state_transition_in_progress. state transition timi ngs are defined in table 7-1. table 7-3. radio transceiver status, register bits trx_status register bits value[4:0] state description 0x00 p_on 0x01 busy_rx 0x02 busy_tx 0x06 rx_on 0x08 trx_off (clock state) 0x09 pll_on (tx_on) 0x0f sleep 0x11 (1) busy_rx_aack 0x12 (1) busy_tx_aret 0x16 (1) rx_aack_on 0x19 (1) tx_aret_on 0x1c rx_on_noclk 0x1d (1) rx_aack_on_noclk 0x1e (1) busy_rx_aack_noclk 0x1f state_transition_in_progress trx_status all other values are reserved notes: 1. extended operating mode only, refer to se ction 7.2. register 0x02 (trx_state) the register trx_state controls the radio transceiv er states via register bits trx_cmd. the status and the result of a tx_aret/rx_ aack transaction is indicated by register bits trac_status. a successful state transition shall be confirmed by reading register bits trx_status in register 0x01 (trx_status). this register is used for basic and extended operat ing mode. the extended operating mode functionality is described in section 7.2.
29 5131d-zigb-12/03/07 at86rf230 bit 7 6 5 4 0x02 trac_status trx_cmd trx_state read/write r r r r/w reset value 0 0 0 0 bit 3 2 1 0 0x02 trx_cmd trx_state read/write r/w r/w r/w r/w reset value 0 0 0 0 ? bit [7:5] ? trac_status refer to section 7.2.6. ? bit [4:0] ? trx_cmd a write access to register bits trx_cmd initiates a radio transceiver state transition towards the new state. table 7-4. state control commands, register bits trx_cmd register bits value[4:0] state transition towards 0x00 (1) nop 0x02 (2) tx_start 0x03 force_trx_off 0x06 rx_on 0x08 trx_off (clock state) 0x09 pll_on (tx_on) 0x16 (3) rx_aack_on 0x19 (3) tx_aret_on trx_cmd all other values are reserved notes: 1. trx_cmd = 0 after power-on reset (por) on ly 2. frame transmission starts 16 s (1 symbol) after tx_start 3. extended operating mode only, refer to section 7 .2 7.2 extended operating mode the extended operating mode goes beyond the basic r adio transceiver functionality provided by the basic operating mode. specific func tionality requested by the ieee 802.15.4-2003 standard is supported such as au tomatic acknowledgement and automatic frame retransmission. this results in a m ore efficient ieee 802.15.4-2003 software mac implementation including reduced code size, the possible use of a smaller microcontroller or the ability to simplify the handling of time-critical tasks. the extended operating mode is designed to support ieee 802.15.4-2003 standard compliant frames. while using the extended operatin g mode, the at86rf230 radio transceiver supports: ? automatic address filtering ? automatic acknowledgement (rx_aack) and ? automatic csma-ca with optional frame retransmissi on (tx_aret) note, the extended operating mode does not support slotted csma-ca.
30 5131d-zigb-12/03/07 at86rf230 the rx_aack transaction consists of: ? frame reception ? address filtering and automatic fcs check ? interrupt indicating frame reception, if it passes address filtering and fcs check ? automatic ack frame transmission, if necessary for details on rx_aack transaction see section 7.2. 3.1. the tx_aret transaction consists of: ? csma-ca including automatic retry ? frame transmission and automatic fcs field generat ion ? reception of ack frame, if requested ? automatic retry of transmissions if ack was expect ed but not received ? interrupt and transaction return code generation for details on tx_aret transaction see section 7.2. 3.2. the at86rf230 state diagram including the extended operating mode states is shown in figure 7-5. yellow marked states represent the b asic operating mode, blue marked states represent the extended operating mode.
31 5131d-zigb-12/03/07 at86rf230 figure 7-5. extended operating mode state diagram t r x _ o f f s l p _ t r = h s l p _ t r = l p l l _ o n r x _ o n t r x _ o f f t r x _ o f f s l p _ t r = h s l p_tr=l tx_aret_on pll_on p l l _ o n r x _ a a c k _ o n frame accepted t x _ a r e t _ o n r x _ a a c k _ o n slp_tr=h slp_tr=l sfd detected 7.2.1 state control the extended operating mode states can be entered f rom states trx_off or pll_on as described by the state diagram in figure 7-5. the completion of each requested state change shall always be confirmed by reading the register 0x01 (trx_status).
32 5131d-zigb-12/03/07 at86rf230 rx_aack: the state rx_aack_on is entered by writing the comm and rx_aack_on to the register bits trx_cmd in register 0x02 (trx_state). the state change shall be confirmed by reading register 0x01 (trx_status) tha t changes to rx_aack_on or busy_rx_aack on success. tx_aret: similarly, tx_aret_on state is activated by setting register bits trx_cmd (register 0x02) to tx_aret_on. the radio transceiver is in th e tx_aret_on state after trx_status (register 0x01) has changed to tx_aret_o n. notes: 1. it is not recommended to use the force_trx_off c ommand while being in state busy_tx_aret without appending a sleep cycle by act ivating slp_tr for at least 2 s. 2. after state transition from state rx_aack_on to state pll_on, start of frame transmission shall be confirmed by reading register 0x01 (trx_status). if register bits trx_status do not return busy_tx during frame transmission, the frame transmission needs to be initiated again. if the fr ame has been downloaded before initiating the frame transmission, it has to be dow nloaded again. 7.2.2 configuration the use of the extended operating mode is based on basic operating mode functionality. only features beyond the basic radio transceiver functionality are described in the following sections. for details to the basic operating mode refer to section 7.1. when using the rx_aack or tx_aret modes, the follow ing registers needs to be configured. rx_aack: ? setup registers 0x20 ? 0x2b for pan-id and ieee ad dresses ? set register bit aack_set_pd (register 0x2e) ? configure register bit i_am_coord (register 0x2e) tx_aret: ? configure csma-ca - max_frame_retries (register 0x2c) - max_csma_retries (register 0x2c) - csma_seed (registers 0x2d, 0x2e) - min_be (register 0x2e) ? configure cca (see section 8.7) the min_be register bits (register 0x2e) sets the m inimum back-off exponent (refer to ieee 802.15.4-2003 section 7.5.1.3), and the csma_s eed_0 and csma_seed_1 register bits (registers 0x2d, 0x2e) define a rando m seed for the back-off-time random- number generator in the at86rf230. the register bit s max_csma_retries (register 0x2c) configures how often the radio transceiver re tries the csma-ca algorithm after a busy channel is detected. max_frame_retries (regist er 0x2c) defines the maximum number of frame retransmissions.
33 5131d-zigb-12/03/07 at86rf230 7.2.3 extended operating mode description 7.2.3.1 rx_aack_on ? receive with automatic ack in the rx_aack_on state, the radio transceiver list ens for incoming frames. after detecting a frame start (sfd), the radio transceive r state changes to busy_rx_aack (register 0x01) and the trac_status bits (register 0x02) are set to invalid. the at86rf230 starts to parse the mac header (mhr) and a filtering procedure as described in ieee 802.15.4-2003 section 7.5.6.2. (t hird level filter rules) is applied accordingly. it accepts only frames that satisfy al l of the following requirements (quote from ieee 802.15.4 2003): ? the frame type subfield of the frame control field shall not contain an illegal frame type. ? if the frame type indicates that the frame is a be acon frame, the source pan identifier shall match macpanid unless macpanid is equal to 0xffff, in which case the beacon frame shall be accepted regardless of the source pan identifier. ? if a destination pan identifier is included in the frame, it shall match macpanid or shall be the broadcast pan identifier (0xffff). ? if a short destination address is included in the frame, it shall match either macshortaddress or the broadcast address (0xffff). otherwise, if an extended destination address is included in the frame, it sh all match an extendedaddress. ? if only source addressing fields are included in a data or mac command frame, the frame shall be accepted only if the device is a pan coordinator and the source pan identifier matches macpanid. any frames rejected by these rules are discarded. the at86rf230 requires to satisfy two additional ru les: ? the frame type indicates that the frame is not an ack frame (refer to table 8-1) ? at least one address field must be present (refer to table 8-2) a frame is also discarded if the fcs is invalid. ot herwise, the trx_end interrupt is issued and the register bits trac_status are set to success after the reception of the frame was completed. the microcontroller can th en upload the frame. the at86rf230 detects whether an ack frame needs to be sent. in that case, the radio transceiver automatically generates an ack fr ame which is transmitted 12 symbol periods after the end of the received frame. if the frame that needs to be acknowledged is a valid mac command data request frame, the cont ent of register bit aack_set_pd in register 0x2e (csma_seed_1) is copied to the fra me pending subfield of the ack and the frame sequence number is copied likewise. d uring these operations the radio transceiver remains in busy_rx_aack state. after the completion of the rx_aack transaction the radio transceiver reenters the state rx_aack_on. the flow diagram of the rx_aack algorithm is shown in figure 7-6. the timing of an rx_aack transaction is shown in fi gure 7-7. it shows a reception of a data frame of length 10 with the ack request bit se t to one. a state change to busy_rx_aack is performed after sfd detection. the completion of the frame reception is indicated by a trx_end interrupt. the ack frame is transmitted after a wait period of 12 symbols (192 s).
34 5131d-zigb-12/03/07 at86rf230 figure 7-6. flow diagram of rx_aack figure 7-7. example timing of an rx_aack transaction rx/tx frame on air rx_aack_on busy_rx_aack trx_state frame type rx_aack_on rx/tx rx tx trx_end irq rx typ. processing delay 16 s 192 s (12 symbols) 512 0 704 time [ s] 64 1088 data frame (length = 10, ack= 1) ack frame sfd
35 5131d-zigb-12/03/07 at86rf230 7.2.3.2 tx_aret_on ? transmit with automatic csma- ca retry the implemented tx_aret algorithm is shown in figur e 7-8. the tx_aret transaction is started by either a risi ng edge on slp_tr pin or by writing a tx_start command to register 0x02 (trx_state). th e radio transceiver sets the trac_status bits to invalid and executes the csma-c a algorithm as defined by ieee 802.15.4-2003 section 7.5.1.4. if a clear chan nel is detected during csma-ca execution, the radio transceiver proceeds to transm it the frame. during frame transmission the at86rf230 parses the frame control field of the downloaded frame to check if an ack reply is expect ed. if an ack is expected, the radio transceiver switches into receive mode to wai t for valid ack reply. an ack is considered as valid if its fcs is correct, and if t he sequence number of the ack matches the sequence number of the previously trans mitted frame. if no valid ack is received or a timeout (after 864 s) occurred, the radio transceiver retries the entire transaction, including csma-ca e xecution. this repeats until the frame has been acknowledged or the maximum number o f retransmissions (as set by the register bits max_frame_retries in register 0x2 c) has been reached. in this case, the trx_end interrupt is issued and the value of trac_status is set to no_ack. if a valid ack is found, the trx_end interrupt is i ssued. the frame pending subfield of the ack frame is parsed and the register bits tr ac_status are updated. if the frame pending subfield of the ack frame is set, tra c_status is updated with success_data_pending, otherwise trac_status is upda ted with success. while in receive mode for ack reception, incoming d ata do not overwrite the frame buffer content. transmit data in the frame buffer a re not changed during the tx_aret transaction. if no ack is expected, the radio transceiver issues a trx_end interrupt after the frame transmission has been completed. the value of regis ter bits trac_status (register 0x02) is set to success. if the csma-ca did not detect a clear channel, the channel access is retried as often as specified by the register bits max_csma_retries (re gister 0x2c). in case that csma-ca does not detect a clear channel after max_c sma_retries, the transaction is aborted and the trx_end interrupt is issued. the trac_status register bits are updated with channel_access_failu re. note that it is recommended to download the transmi t data before starting a tx_aret transaction.
36 5131d-zigb-12/03/07 at86rf230 figure 7-8 flow diagram of tx_aret trx_state=tx_aret_on tx_start cca result ackrequested trx_state=tx_aret_on n failure success n y frame_rctr=0 transmitframe frame_rctr=frame_rctr+1 y n frame_rctr> max_frame_retries n y trac_status= no_ack trac_status= success trac_status= channel_access_failure generatetrx_endinterrupt datapending n y trac_status= success_data_pending trx_state=busy_tx_aret trac_status=invalid receivedvalid ackintime? csma_rctr> max_csma_retries y n randombackoff csma_rctr=csma_rctr+1 cca csma_rctr=0 y figure 7-9 shows a tx_aret transaction with the rel ated timing. in this example a data frame of length 10 with ack request is transmitted. furthermore the following constrains are assumed: ? register bits min_be (register 0x2e) are set to 0 to not delay the execution of the cca algorithm after the rising edge at pin slp_tr ? a clear channel is assumed (no csma-ca retry, no f rame retransmission).
37 5131d-zigb-12/03/07 at86rf230 figure 7-9 timing example of a tx_aret transaction rx/tx frame on air tx_aret_on busy_tx_aret trx_state frametype tx_aret_on rx/tx c s m a - c a rx trx_end irq typ. processing delay 16 s 672 0 x time [ s] 128 x+352 slp_tr tx 128 s 32 s 16 s data frame (length = 10, ack=1) ack frame register settings: 0x2c: max_frame_retries=0 0x2c: max_csma_rrtries=0 0x2e: min_be=0 7.2.3.3 rx_aack_on_noclk ? rx_aack_on without clkm if the at86rf230 is listening for an incoming frame and the microcontroller is not running an application, the microcontroller can be powered down to decrease the total system power consumption. this special power-down s cenario for systems running in clock synchronous mode (see section 6.4) is support ed by the at86rf230 using the state rx_aack_on_noclk. the radio transceiver funct ionality in this state is based on that in state rx_aack_on (see section 7.2.3.1), only the clock on pin clkm is disabled. the rx_aack_on_noclk state is entered from rx_aack_ on by a rising edge at slp_tr pin. the return to rx_aack_on state results either from a successful frame reception or a falling edge on pin slp_tr. the clkm pin is disabled 35 clock cycles after the rising edge at slp_tr pin. this allows the microcontroller to complete its power-do wn sequence. in case of frame reception, the radio transceiver e nters the busy_rx_aack_on state and parses the address field and the fcs of the inc oming frame. if it passes address filtering and has a correct fcs the frame is accept ed and the radio transceiver state changes to busy_rx_aack, the trx_end interrupt is i ssued and clkm is turned on. if an ack was requested the radio transceiver f ollows the procedure described in section 7.2.3.1. after the transaction has been completed, the radio transceiver enters the rx_aack_on state. note, the radio transceiver reent ers the rx_aack_on_noclk state only, when the next rising edge at slp_tr pin occurs. 7.2.4 interrupt handling in extended operating mode the interrupts in the extended operating mode are h andled slightly different compared to the basic operating mode (see section 7.1.3). th e number of possible interrupts is reduced to a necessary minimum of events. this mini mizes the interaction between microcontroller and at86rf230 to reduce the overall power consumption. the differences in the interrupt handling are described in table 7-5.
38 5131d-zigb-12/03/07 at86rf230 table 7-5. interrupt description for extended operating mode irq handling in extended operating mode irq_7: bat_low no special handling (see section 6.5 ) irq_6: trx_ur no special handling (see section 6.5) irq_3: trx_end tx_aret: indicates the completion of tx_aret algorithm. rx_aack: indicates the successful frame reception. frame data can be uploaded to the microcontroller. irq_2: rx_start not used irq_1: pll_unlock disabled for regular operation. i n case of occurrence, the device status needs to be examined (refer to avr2009 ?at86 rf230 ? software programming model?). irq_0: pll_lock disabled for regular operation. in case of occurrence, the device status needs to be examined (refer to avr2009 ?at86 rf230 ? software programming model?). 7.2.5 register summary table 7-6. register summary reg.-address register name description 0x01 trx_status radio transceiver status, cca resul t 0x02 trx_state state control 0x20 - 0x2b address filter configuration 0x2c xah_ctrl retries value control 0x2d csma_seed_0 csma-ca seed value 0x2e csma_seed_1 csma-ca seed value, min_be, aack_s et_pd, i_am_coord 7.2.6 register description ? control registers register 0x01 (trx_status) the trx_status register signals the current state o f the radio transceiver as well as the status of the cca measurement. note, a read acc ess to the register clears bits cca_done and cca_status. this register is also used for basic operating mode, refer to section 7.1. bit 7 6 5 4 0x01 cca_done cca_status reserved trx_status trx_status read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x01 trx_status trx_status read/write r r r r reset value 0 0 0 0 ? bit 7 ? cca_done refer to section 8.6.
39 5131d-zigb-12/03/07 at86rf230 ? bit 6 ? cca_status refer to section 8.6. ? bit 5 ? reserved ? bit [4:0] ? trx_status the register bits trx_status signal the current rad io transceiver status. if the requested state transition is not completed yet, th e trx_status returns state_transition_in_progress. state transition timi ngs are defined in table 7-1. table 7-7. radio transceiver status, register bits trx_status register bits value[4:0] state description 0x00 p_on 0x01 busy_rx 0x02 busy_tx 0x06 rx_on 0x08 trx_off (clock state) 0x09 pll_on (tx_on) 0x0f sleep 0x11 busy_rx_aack 0x12 busy_tx_aret 0x16 rx_aack_on 0x19 tx_aret_on 0x1c rx_on_noclk 0x1d rx_aack_on_noclk 0x1e busy_rx_aack_noclk 0x1f state_transition_in_progress trx_status all other values are reserved register 0x02 (trx_state) the register trx_state controls the radio transceiv er states via register bits trx_cmd. the status and the result of a tx_aret/rx_ aack transaction is indicated by register bits trac_status. a successful state transition shall be confirmed by reading register bits trx_status in register 0x01 (trx_status). bit 7 6 5 4 0x02 trac_status trx_cmd trx_state read/write r r r r/w reset value 0 0 0 0 bit 3 2 1 0 0x02 trx_cmd trx_state read/write r/w r/w r/w r/w reset value 0 0 0 0
40 5131d-zigb-12/03/07 at86rf230 ? bit [7:5] ? trac_status the status of the tx_aret algorithm is indicated by register bits trac_status. details of the algorithm and a description of the s tatus information are given in section 7.2.3.2. table 7-8. state control register, register bits trac_status t x_aret register bits value[7:5] description 0 success 1 success_data_pending 3 channel_access_failure 5 no_ack 7 invalid trac_status all other values are reserved ? bit [4:0] ? trx_cmd a write access to register bits trx_cmd initiates a radio transceiver state transition towards the new state. table 7-9. state control register, register bits trx_cmd register bits value[4:0] state description 0x00 (1) nop 0x02 (2) tx_start 0x03 force_trx_off 0x06 rx_on 0x08 trx_off (clock state) 0x09 pll_on (tx_on) 0x16 rx_aack_on 0x19 tx_aret_on trx_cmd all other values are reserved notes: 1. trx_cmd = 0 after power-on reset (por) 2. frame transmission starts 16 s (1 symbol) after tx_start register 0x2c (xah_ctrl) the xah_ctrl register controls the tx_aret transact ion in the extended operating mode of the radio transceiver. bit 7 6 5 4 0x2c max_frame_retries xah_ctrl read/write r/w r/w r/w r/w reset value 0 0 1 1 bit 3 2 1 0 0x2c max_csma_retries reserved xah_ctrl read/write r/w r/w r/w r/w reset value 1 0 0 0
41 5131d-zigb-12/03/07 at86rf230 ? bit [7:4] ? max_frame_retries max_frame_retries specifies the maximum number of f rame retransmission in tx_aret transaction. ? bit [3:1] ? max_csma_retries max_csma_retries specifies the maximum number of re tries in tx_aret transaction to repeat the random back-off/cca proce dure before the transaction gets cancelled. even though the valid range of max_csma_ retries is [0, 1 ? 5] according to ieee 802.15.4-2003, the at86rf230 can be configured up to a maximum value of 7 retries. ? bit 0 ? reserved register 0x2d (csma_seed_0) the csma_seed_0 register contains a fraction of the csma_seed value for the csma-ca algorithm. bit 7 6 5 4 3 2 1 0 0x2d csma_seed_0 csma_seed_0 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 1 1 1 0 1 0 1 0 ? bit [7:0] ? csma_seed_0 the register bits csma_seed_0 contain the lower 8 b its of the csma_seed. the upper 3 bits are stored in register bits csma_seed_ 1 of register 0x2e (csma_seed_1). csma_seed is the seed of the random number generator for the csma-ca algorithm. register 0x2e (csma_seed_1) the csma_seed_1 register contains a fraction of the csma_seed value, the back- off exponent for the csma-ca algorithm and configur ation bits for address filtering in rx_aack operation. bit 7 6 5 4 0x2c min_be aack_set_pd reserved csma_seed_1 read/write r/w r/w r/w r reset value 1 1 0 0 bit 3 2 1 0 0x2c i_am_coord csma_seed_1 csma_seed_1 read/write r/w r/w r/w r/w reset value 0 0 1 0 ? bit [7:6] ? min_be the register bit min_be defines the minimal back-of f exponent used in the csma-ca algorithm to generate a pseudo random number for ba ck-off the cca. for details refer to ieee 802.15.4-2003 section 7.5.1.3. if set to ze ro, the start of the cca algorithm is not delayed. ? bit 5 ? aack_set_pd this register bit defines the content of the frame pending subfield for acknowledgement frames in rx_aack mode. if this bit is enabled the frame pending subfield of the
42 5131d-zigb-12/03/07 at86rf230 acknowledgment frame is set in response to a mac co mmand data request frame, otherwise not. the register bit has to be set befor e finishing the shr transmission of the acknowledgment frame. this is 352 s (192 s ac k wait time + 160 s shr transmission) after the trx_end interrupt issued by the frame to be acknowledged. ? bit 4 ? reserved ? bit 3 ? i_am_coord this register bit has to be set if the node is a pa n coordinator. this register bit is used for address filtering in rx_aack. if i_am_coord = 1 and if only source addressing fields are included in a data or mac command frame, the frame shall be accepted only if the device is the pan coordinator and the source pan identifier matches macpanid, for details refer to ieee 802.15.4-2003, section 7. 5.6.2 (third-level filter rules). ? bit [2:0] ? csma_seed_1 the register bits csma_seed_1 contain the upper 3 b its of the csma_seed. the lower part is defined in register 0x2d (csma_seed_0 ). 7.2.7 register description ? address registers register 0x20 (short_addr_0) this register contains bits [7:0] of the 16 bit sho rt address for address filtering. bit 7 6 5 4 3 2 1 0 0x20 short_address_0 short_addr_0 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x21 (short_addr_1) this register contains bits [15:8] of the 16 bit sh ort address for address filtering. bit 7 6 5 4 3 2 1 0 0x21 short_address_1 short_addr_1 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x22 (pan_id_0) this register contains bits [7:0] of the 16 bit pan id for address filtering. bit 7 6 5 4 3 2 1 0 0x22 pan_id_0 pan_id_0 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x23 (pan_id_1) this register contains bits [15:8] of the 16 bit pa n id for address filtering. bit 7 6 5 4 3 2 1 0 0x23 pan_id_1 pan_id_1 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0
43 5131d-zigb-12/03/07 at86rf230 register 0x24 (ieee_addr_0) this register contains bits [7:0] of the 64 bit iee e address for address filtering. bit 7 6 5 4 3 2 1 0 0x24 ieee_addr_0 ieee_addr_0 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x25 (ieee_addr_1) this register contains bits [15:8] of the 64 bit ie ee address for address filtering. bit 7 6 5 4 3 2 1 0 0x25 ieee_addr_1 ieee_addr_1 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x26 (ieee_addr_2) this register contains bits [23:16] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x26 ieee_addr_2 ieee_addr_2 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x27 (ieee_addr_3) this register contains bits [31:24] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x27 ieee_addr_3 ieee_addr_3 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x28 (ieee_addr_4) this register contains bits [39:32] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x28 ieee_addr_4 ieee_addr_4 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x29 (ieee_addr_5) this register contains bits [47:40] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x29 ieee_addr_5 ieee_addr_5 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0
44 5131d-zigb-12/03/07 at86rf230 register 0x2a (ieee_addr_6) this register contains bits [55:48] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x2a ieee_addr_6 ieee_addr_6 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0 register 0x2b (ieee_addr_7) this register contains bits [63:56] of the 64 bit i eee address for address filtering. bit 7 6 5 4 3 2 1 0 0x2b ieee_addr_7 ieee_addr_7 read/write r/w r/w r/w r/w r/w r/w r/w r/w reset value 0 0 0 0 0 0 0 0
45 5131d-zigb-12/03/07 at86rf230 8 functional description 8.1 introduction - frame format figure 8-1 provides an overview of the physical lay er frame structure as defined by the ieee 802.15.4-2003 standard. figure 8-2 shows detai ls of the defined mac layer frame structure. figure 8-1 ieee 802.15.4-2003 frame format ? phy layer frame structure figure 8-2 ieee 802.15.4-2003 frame format ? mac layer frame structure 8.1.1 phy protocol layer data unit (ppdu) 8.1.1.1 synchronization header (shr) the shr consists of a four-octet preamble field (al l zero), followed by a single sfd octet which has the predefined value 0xa7. when tra nsmitting, the shr is automatically generated by the at86rf230, and prefixed to the fra me that has been read from the frame buffer. the transmission of the shr requires 160 s (10 symbols). this allows the microcontroller to initiate a transmission and to start downloading the frame contents subsequently. note, that in this case the spi transfer rate must be equal or faster than the phy data rate. during frame reception, the shr is used for phy syn chronization purposes. in basic operating mode an rx_start interrupt is issued 8 s after detection of the sfd field.
46 5131d-zigb-12/03/07 at86rf230 8.1.1.2 phy header (phr) the phy header consists of a single octet following the shr. the least significant 7 bits of that octet denote the frame length of the following psdu, while the most significant bit of that octet is reserved. during transmission, the phr field has to be suppli ed by the microcontroller during frame buffer write access. on receive, the radio transceiver does not write th e phr field into the frame buffer. instead it is prefixed to the psdu during frame buf fer read access. note, that the reserved msb of the phr octet is always set to 0. 8.1.1.3 phy payload (phy service data unit, psdu) the psdu has a variable length between one and 127 octets. 8.1.2 mac protocol layer data unit (mpdu) 8.1.2.1 mac header (mhr) fields the mac header consists of the frame control field (fcf), a sequence number, and the variable length addressing fields. 8.1.2.2 frame control field (fcf) the fcf consists of 16 bits, and occupies the first two octets of the mpdu. bit [2:0] describe the frame type. table 8-1 summarizes fram e types defined by ieee 802.15.4-2003, section 7.2.1.1.1. table 8-1. ieee 802.15.4-2003 frame types frame control field bit assignments bit [2:0] value description 000 0 beacon 001 1 data 010 2 acknowledge 011 3 mac command 100 ? 111 4 ? 7 reserved these bits are used for address filtering by applyi ng the ieee 802.15.4-2003 third level filter rules. only frame types 0 ? 3 pass the third level filter rules. automatic address filtering by the at86rf230 is enabled when using th e rx_aack operation (see section 7.2.3.1). bit 3: indicates whether security processing applies to t his frame. this field is not evaluated by the at86rf230. bit 4 is the ?frame pending? subfield. this field can be set in an acknowledgement frame. it indicates that the transmitter of the ack nowledgement frame has more data to send for the recipient of the acknowledgement frame . for acknowledgment frames automatically generated by the at86rf230, this bit is set according to the content of register bit aack_set_pd in register 0x2e (csma_see d_1). bit 5 forms the ?acknowledgment request? subfield. if th is bit is set within a data or mac command frame that is not broadcast, the recipient shall acknowledge the reception of the frame within the time specified by ieee 802.15. 4-2003 (i.e. within 192 s for
47 5131d-zigb-12/03/07 at86rf230 nonbeacon-enabled networks). the at86rf230 parses t his bit during rx_aack operation and transmits an acknowledgment frame if necessary. bit 6 the ?intra-pan? subfield indicates that in a frame , where both, the destination and source addresses are present, the pan id is omitted from the source address field. this bit is evaluated by the at86rf230 address filt er logic when using rx_aack operation. bit [11:10] the ?destination address mode? subfield describes the format of the destination address of the frame. the values of the address modes are summarized in table 8-2, according to ieee 802.15.4-2003: table 8-2. ieee 802.15.4-2003 address modes addressing mode value bit [11:10] bit [15:14] value description 00 0 address not present 01 1 reserved, must not be used 10 2 address is 16-bit short 11 3 address is 64-bit extended address if the destination address mode is either 2 or 3 (i .e. if the destination address is present at all), it always consists of a 16-bit pan id firs t, followed by either the 16-bit or 64-bit address as described by the mode. bit [15:14] form the ?source address mode? subfield, with a si milar meaning as ?destination address mode?. the address field description bits of the fcf (bits 6, 10, 11, 14, 15) affect the address filter logic of the at86rf230 while operating in rx _aack states (see section 7.2.3.1). 8.1.2.3 sequence number the one-octet sequence number following the fcf ide ntifies a particular frame, so that duplicated frame transmissions can be detected. whi le operating in rx_aack states, the content of this field is copied from the frame to be acknowledged into the acknowledgment frame. 8.1.2.4 addressing fields the addressing fields terminate the mhr. the destin ation address (if present) is always transmitted first, followed by the source address ( if present). each address consists of the pan id and a device address. if both addresses are present, and the ?intra pan? subfield in the fcf is set to 1, the source pan id is omitted. note that in addition to these general rules, ieee 802.15.4-2003 further restricts the valid address combinations for the individual possi ble mac frame types. for example, the situation where both addresses are omitted (sou rce addressing mode = 0 and destination addressing mode = 0) is only allowed fo r acknowledgment frames. the address filter in the at86rf230 has been designed t o apply to ieee 802.15.4-2003 compliant frames only. 8.1.2.5 mac service data unit (msdu) this is the actual mac payload. it is usually struc tured according to the individual frame type descriptions in ieee 802.15.4-2003.
48 5131d-zigb-12/03/07 at86rf230 8.1.2.6 mac footer (mfr) fields the mac footer consists of a two-octet frame checks um (fcs). the at86rf230 can generate and evaluate this fcs automatically, for d etails refer to section 8.2. 8.2 frame check sequence (fcs) the frame check sequence main features are: ? indicates bit errors, based on a cyclic redundancy check (crc) of length 16 bit ? uses international telecommunication union (itu) c rc polynomial ? automatically evaluated during reception ? can be automatically generated during transmission 8.2.1.1 overview the fcs is intended for use at the mac level to det ect corrupted frames. it is computed by applying an itu crc polynomial to all transferre d bytes following the length field (mhr and msdu fields). the frame check sequence has a length of 16 bit and is located in the last two bytes of a frame (mac foote r, see figure 8-2). the at86rf230 applies an fcs check on each received frame. the fcs check result is stored to register bit rx_crc_valid in register 0x06 (phy_rssi). on transmit the radio transceiver can be configured to autonomously compute and append the fcs bytes. 8.2.2 crc calculation the crc polynomial used in ieee 802.15.4-2003 netwo rks is defined by 1 ) ( 5 12 16 16 + + + = x x x x g . the fcs shall be calculated for transmission using the following algorithm: let 1 2 2 1 1 0 ) ( ? ? ? ? + + + + = k k k k b x b x b x b x m k be the polynomial representing the sequence of bits for which the checksum is to be computed. multiply m(x) by x 16 , giving the polynomial 16 ) ( ) ( x x m x n ? = . divide n(x) modulo 2 by the generator polynomial, g 16 (x) , to obtain the remainder polynomial, 15 14 14 1 15 0 ... ) ( r x r x r x r x r + + + + = the fcs field is given by the coefficients of the r emainder polynomial, r(x) . example: considering a 5 octet ack frame. the mhr field cons ists of 0100 0000 0000 0000 0101 0110. the leftmost bit (b 0 ) is transmitted first in time. the fcs would be fo llowing 0010 0111 1001 1110. the leftmost bit (r 0 ) is transmitted first in time.
49 5131d-zigb-12/03/07 at86rf230 8.2.3 automatic fcs generation the at86rf230 automatic fcs generation and insertio n is enabled by setting register bit tx_auto_crc_on to 1. for a frame with a frame length field (phr) specifi ed as n (3 n 127), the fcs is calculated on the first n -2 psdu octets in the frame buffer, and the resulti ng 16 bit fcs field is appended during transmission. note, if the at86rf230 automatic fcs generation is enabled, the frame download to the fr ame buffer can be stopped right after mac payload. there is no need to download fcs dummy bytes. in rx_aack states, when a received frame needs to b e acknowledged, the fcs of the ack frame is always automatically generated by the at86rf230. example: a frame transmission of length five with the regist er bit tx_auto_crc_on set, is started with a frame download of five bytes (the la st two bytes can be omitted). the first three bytes are used for fcs generation, the last t wo bytes are replaced by the internally calculated fcs. 8.2.4 automatic fcs check an fcs check is applied on each incoming frame with a frame length n 2. the result of the fcs check is stored to register bit rx_crc_v alid in register 0x06 (phy_rssi). the register bit is updated at the even t of the trx_end interrupt and remains valid until the next trx_end interrupt caus ed by a new frame reception. in rx_aack states, if fcs of the received frame is not valid, the radio transceiver rejects the frame and the trx_end interrupt will no t be generated. in tx_aret states, the fcs of an ack is automatical ly checked. if it is not correct, the ack is not accepted. 8.2.5 register description register 0x05 (phy_tx_pwr) the phy_tx_pwr register sets the transmit power and controls the fcs algorithm for tx operation. bit 7 6 5 4 0x05 tx_auto_crc_on reserved phy_tx_pwr read/write r/w r r r reset value 0 0 0 0 bit 3 2 1 0 0x05 tx_pwr phy_tx_pwr read/write r/w r/w r/w r/w reset value 0 0 0 0 ? bit 7 ? tx_auto_crc_on register bit tx_auto_crc_on controls the automatic fcs generation for tx operation. the automatic fcs algorithm is performed autonomously by the radio transceiver if register bit tx_auto_crc_on = 1. ? bit [6:4] ? reserved ? bit [3:0] ? tx_pwr refer to section 9.2.3.
50 5131d-zigb-12/03/07 at86rf230 register 0x06 (phy_rssi) the phy_rssi register is a multi purpose register t o indicate the current received signal strength (rssi) and the fcs validity of a re ceived frame. bit 7 6 5 4 0x06 rx_crc_valid reserved rssi phy_rssi read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x06 rssi phy_rssi read/write r r r r reset value 0 0 0 0 ? bit 7 ? rx_crc_valid this register bit indicates whether a received fram e has a valid fcs. the register bit is updated when issuing the trx_end interrupt remains valid until the next trx_end interrupt caused by a new frame reception. table 8-3. rx fcs result register bit value description 0 fcs is not valid. rx_crc_valid 1 fcs is valid. ? bit [6:5] ? reserved ? bit [4:0] ? rssi refer to section 8.4.4. 8.3 energy detection (ed) the main features for the energy detection module a re: ? 85 unique energy levels defined ? 1 db resolution 8.3.1 overview the receiver energy detection measurement is used b y a network layer as part of a channel selection algorithm. it is an estimation of the received signal power within the bandwidth of an ieee 802.15.4-2003 channel. no atte mpt is made to identify or decode signals on the channel. the ed value is calculated by averaging rssi values over eight symbols (128 s). 8.3.2 request an ed measurement there are two ways implemented in the at86rf230 to initiate an ed measurement: ? manually, by a write access to register 0x07 (phy_ ed_level), or ? automatically, by detecting a valid sfd of an inco ming frame. for manually initiated ed measurement the radio tra nsceiver needs to be in one of the states rx_on or busy_rx. an automated ed measuremen t is started, if a sfd field is detected. a valid sfd detection is signalized by an rx_start interrupt in basic operating mode.
51 5131d-zigb-12/03/07 at86rf230 the measurement result is stored to register 0x07 ( phy_ed_level) 140 s after its initialization. the value is always 0 if the at86rf 230 is not in any of the rx states. thus by using basic operating mode, a valid ed valu e from the currently received frame is accessible 140 s after the rx_start inter rupt and remains valid until a new rx_start interrupt is generated by the next incomin g frame or until another ed measurement is initiated manually. by using the extended operating mode, the rx_start interrupt is always masked and cannot be used as timing reference. here succes sful frame reception is only signalized by the trx_end interrupt. the minimum ti me between a trx_end interrupt and a following sfd detection is 96 s. i ncluding the ed measurement time, the ed value needs to be read within 224 s after t he trx_end interrupt; otherwise, it could be overwritten by the result of the next meas urement cycle. note, it is not recommended to initiate manually an ed measurement when using the extended operating mode. 8.3.3 data interpretation the phy_ed_level is an 8 bit register. the ed value of the at86rf230 radio transceiver has a valid range from 0 to 84 with a r esolution of 1 db. all other values do not occur. if zero is read from the phy_ed_level re gister, this indicates that the measured energy is less than -91 dbm (see parameter 11.7.16). due to environmental conditions (temperature, voltage, semiconductor par ameters, etc.) the computed energy value has an accuracy of 5 dbm, this is to be cons idered as constant offset over the measurement range. 8.3.4 register description register 0x07 (phy_ed_level) the ed_level register contains the result after an ed measurement. bit 7 6 5 4 3 2 1 0 0x07 ed_level[7:0] ed_level read/write r r r r r r r r reset value 0 0 0 0 0 0 0 0 ? bit [7:0] ? ed_level the minimum ed value (ed_level = 0) indicates recei ver power less than rssi_base_val. the range is 84 db with a resolution of 1 db and an absolute accuracy of 5 db. the measurement period is 8 symb ol periods. a manual ed measurement can be initiated by a write access to the register. 8.4 received signal strength indicator (rssi) the received signal strength indicator main feature s are: ? minimum rssi sensitivity is -91 dbm (rssi_base_val , see parameter 11.7.16) ? dynamic range is 81 db ? minimum rssi value is 0 ? maximum rssi value is 28
52 5131d-zigb-12/03/07 at86rf230 8.4.1 overview the rssi is a 5-bit value indicating the receive po wer in the selected channel, in steps of 3 db. no attempt is made to distinguish between ieee 802.15.4 signal and other signal source, only the received signal power is ev aluated. the rssi provides the basis for ed measurement. 8.4.2 reading rssi using the basic operating mode, the rssi value is v alid at any rx state, and is updated every 2 s. the current rssi value is stored to the phy_rssi register. note, it is not recommended to read the rssi value when using the extended operating mode. the automatically generated ed valu e should be used alternatively (see section 8.3). 8.4.3 data interpretation the phy_rssi is an 8-bit register, however, the val ue is represented in the lowest five bits [4:0] and the range is 0 ? 28. an rssi value of 0 indicates an rf input power of < -91 dbm. for an rssi value in the range of 1 to 28, the rf input power can be calcula ted as follows: p rf = rssi_base_val + 3?(rssi - 1) 8.4.4 register description register 0x06 (phy_rssi) the phy_rssi register is a multi purpose register t o indicate the current received signal strength (rssi) and the fcs validity of a re ceived frame. bit 7 6 5 4 0x06 rx_crc_valid reserved rssi phy_rssi read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x06 rssi phy_rssi read/write r r r r reset value 0 0 0 0 ? bit 7 ? rx_crc_valid refer to section 8.2.5. ? bit [6:5] ? reserved ? bit [4:0] ? rssi the register bits rssi contain the result of the au tomated rssi measurement. the value is updated every 2 s in receive states. the read value is a number between 0 and 28 indicat ing the received signal strength as a linear curve on a logarithmic input power scale ( dbm) with a resolution of 3 db. an rssi value of 0 indicates an rf input power of < -9 1 dbm (see parameter 11.7.17), a value of 28 a power of -10 dbm (see parameter 11.7.18).
53 5131d-zigb-12/03/07 at86rf230 8.5 link quality indication (lqi) the ieee 802.15.4 standard defines the lqi measurem ent as a characterization of the strength and/or quality of a received packet. the u se of the lqi result by the network or application layer is not specified in this standard . lqi values shall be an integer ranging from 0 to 255. the minimum and maximum lqi values ( 0 and 255) should be associated with the lowest and highest quality comp liant signals, respectively, and lqi values in between should be uniformly distributed b etween these two limits. 8.5.1 overview the at86rf230 determines the link quality of a radi o link. the radio transceiver uses correlation results of multiple symbols within a fr ame to determine the lqi value. this is done for each received frame. the minimum frame len gth for a valid lqi value is two octets psdu. lqi values are integers ranging from 0 to 255. the lqi values can be associated with an expected p acket error rate (per). the per is the ratio of erroneous received frames to the to tal number of received frames. a per of zero indicates no frame error, whereas at a per of one no frame was received correctly. as an example, figure 8-3 shows the conditional pac ket error rate with associated lqi values. the values are taken from received frames o f length 20 octets psdu on transmission channels with low multipath delay spre ads. even if the transmission channel characteristic has higher multipath delay s pread than assumed for this example, the dependency of per to lqi values is not affected. since the packet error rate is a statistical value, the per shown in figure 8-3 is based on a huge number of receptions. figure 8-3. conditional packet error rate versus lqi 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 50 100 150 200 250 per lqi 8.5.2 request an lqi measurement the lqi byte can be obtained after a frame has been received by the radio transceiver. one additional byte is attached to the received fra me containing the lqi value. this
54 5131d-zigb-12/03/07 at86rf230 information can be read as an extra byte from the f rame buffer (see section 9.1). the lqi byte can be uploaded after the trx_end interrup t. 8.5.3 data interpretation a low lqi value is associated with low signal stren gth and/or high signal distortions. signal distortions are mainly caused by interferenc e signals and/or multipath propagation. high lqi values indicate a sufficient high signal power and low signal distortions. note, the received signal power as indicated by rec eived signal strength indication (rssi) value or energy detection (ed) value do not characterize the signal quality and the ability to decode a signal. as an example, a re ceived signal with an input power of about 6 db above the receiver sensitivity likely re sults in a lqi value close to 255 for radio channels with very low signal distortions. fo r higher signal power levels the lqi value becomes independent of the actual signal stre ngth. this is because the packet error rate for these scenarios tends towards zero a nd further increase of the signal strength, i.e. by increasing the transmission power , does not decrease the error rate any further. in this case rssi or ed can be used to evaluate the signal strength and the link margin. zigbee networks require to determine the ?best? rou te between two nodes. both, the lqi and the rssi/ed can be used for this, depending on the optimization criteria. as a rule of thumb rssi/ed is useful to differentiate be tween links with high lqi values. transmission links with low lqi values should be di scarded for routing decisions even if the rssi/ed values are high. 8.6 clear channel assessment (cca) the main features of the clear channel assessment ( cca) module are: ? all 3 modes available as defined by ieee 802.15.4- 2003 in section 6.7.9 ? adjustable threshold of the energy detection algor ithm 8.6.1 overview the cca is used to detect a clear channel. there ar e three modes available as defined in table 8-4. table 8-4. available cca modes cca mode description 1 energy above threshold. cca shall report a busy medium upon detecting any e nergy above the ed threshold. 2 carrier sense only. cca shall report a busy medium only upon the detect ion of a signal with the modulation and spreading characteristics of ieee 80 2.15.4. this signal may be above or below the ed threshold. 3 carrier sense with energy above threshold. cca shall report a busy medium only upon the detect ion of a signal with the modulation and spreading characteristics of ieee 80 2.15.4 with energy above the ed threshold.
55 5131d-zigb-12/03/07 at86rf230 8.6.2 cca configuration and request the cca modes are configurable via register 0x08 (p hy_cc_cca). the 4 bit value cca_ed_thres of register 0x09 (cca_ thres) defines the received power threshold of the ?energy above threshold? alg orithm. the threshold is calculated by rssi_base_val+2?cca_ed_thres [dbm]. using the basic operating mode, a cca request can b e initiated manually by setting cca_request = 1 in register 0x08 (phy_cc_cca), if t he at86rf230 is in any rx state. the cca computation is done over eight symbo l periodes and the result is accessible 140 s after the request. note, it is not recommended to initiate manually a cca measurement when using the extended operating mode. 8.6.3 data interpretation the current channel status (cca_status) and the cca completion status (cca_done) are accessible in register 0x01 (trx_sta tus). note, a read access to this register clears register bits cca_done and cca _status. the completion of a measurement cycle is indicated by cca_done = 1. if the radio transceiver detected no signal (idle channel) durin g the measurement cycle, the cca_status bit is set to 1. when using the ?energy above threshold? algorithm ( mode 1 and mode 3) any received power above cca_ed_thres level is interpreted as a busy channel. the ?carrier sense? algorithm (mode 2 and mode 3) reports a busy channel when detecting a ieee 802.15.4 signal above the rssi_base_val (see p arameter 11.7.16). the radio transceiver is also able to detect signals below th is value, but the detection probability decreases with the signal power. it is almost zero at the radio transceivers sensitivity level (see parameter 11.7.1). 8.6.4 register description register 0x01 (trx_status) the trx_status register signals the current state o f the radio transceiver as well as the status of the cca measurement. note, a read acc ess to the register clears bits cca_done and cca_status. bit 7 6 5 4 0x01 cca_done cca_status reserved trx_status trx_status read/write r r r r reset value 0 0 0 0 bit 3 2 1 0 0x01 trx_status trx_status read/write r r r r reset value 0 0 0 0 ? bit 7 ? cca_done this register indicates if a cca request is complet ed. each read access to register 0x01 resets the cca_done bit.
56 5131d-zigb-12/03/07 at86rf230 table 8-5. status cca algorithm register bit value description 0 cca calculation in progress cca_done 1 cca calculation finished ? bit 6 ? cca_status cca_status register bit indicates the result of a c ca request. each read access to register 0x01 resets the cca_status bit. table 8-6. status cca result register bit value description 0 channel is busy cca_status 1 channel is idle ? bit 5 ? reserved ? bit [4:0] ? trx_status refer to section 7.1.5. register 0x08 (phy_cc_cca) the phy_cc_cca register contains register bits to i nitiate and control the cca measurement as well as to set the channel center fr equency. bit 7 6 5 4 0x08 cca_request cca_mode channel phy_cc_cca read/write r/w r/w r/w r/w reset value 0 0 1 0 bit 3 2 1 0 0x08 channel phy_cc_cca read/write r/w r/w r/w r/w reset value 1 0 1 1 ? bit 7 ? cca_request a manual cca measurement is initiated with setting cca_request = 1. ? bit [6:5] ? cca_mode the cca mode can be selected using register bits cc a_mode. table 8-7. cca modes register bit value description 0 reserved 1 mode 1, energy above threshold 2 mode 2, carrier sense only cca_mode 3 mode 3, carrier sense with energy above threshold ? bit [4:0] ? channel refer to section 9.7.5.
57 5131d-zigb-12/03/07 at86rf230 register 0x09 (cca_thres) this register contains the threshold level for cca- ed measurement. bit 7 6 5 4 0x09 reserved cca_thres read/write r/w r/w r/w r/w reset value 1 1 0 0 bit 3 2 1 0 0x09 cca_ed_thres cca_thres read/write r/w r/w r/w r/w reset value 0 1 1 1 ? bit [7:4] ? reserved ? bit [3:0] ? cca_ed_thres the register bits cca_ed_thres define the threshold value of the cca-ed measurement. a cannel is indicated as busy when the received signal power is above rssi_base_val + 2 ? cca_ed_thres [dbm].
58 5131d-zigb-12/03/07 at86rf230 9 module description 9.1 receiver (rx) 9.1.1 overview the at86rf230 receiver is spitted into an analog ra dio front end and a digital base band processor (rx bbp), see figure 3-1. the rf signal is amplified by a low noise amplifier (lna) and converted down to an intermediate frequency by a mixer. channel selectiv ity is performed using an integrated band pass filter. a limiting amplifier (limiter) pr ovides sufficient gain to overcome the dc offset of the succeeding analog-to-digital conve rter (adc) and generates a digital rssi signal with 3 db granularity. the if signal is sampled and processed further by the digital base band receiver. the rx bbp performs additional signal filtering and signal synchronization. the frequency offset of each frame is calculated by the synchronization unit and is used during the remaining receive process to correct the offset. the receiver is designed to handle frequency and symbol rate deviations up to 120 ppm, caused by combined receiver and transmitter deviations. for details re fer to section 11.5 parameter 11.5.6. finally the signal is demodulated and the data are stored to the frame buffer. in basic operating mode the start of an ieee 802.15 .4 compliant frame is indicated by a rx_start interrupt. accordingly it?s end is signa lized by an trx_end interrupt. based on the quality of the received signal a link quality indicator (lqi) is calculated and appended to the frame, refer to section 8.5. ad ditional signal processing is applied to the frame data to provide further status informa tion like ed value (register 0x07) and fcs correctness (register 0x06). beyond these features the extended operating mode o f the at86rf230 supports address filtering and pending data indication. for details refer to section 7.2. 9.1.2 configuration the receiver is enabled by writing the command rx_o n for the basic operating mode or rx_aack_on for the extended operating mode to re gister bits trx_cmd in register 0x02 (trx_state). the receiver does not need any additional configura tion to receive ieee 802.15.4 compliant frames on the current selected channel wh en using the basic operating mode. however the frame reception in the extended o perating mode requires further register configurations, for details refer to secti on 7.2. 9.2 transmitter (tx) 9.2.1 overview the at86rf230 transmitter consists of a digital bas e band processor (tx bbp) and an analog radio front end, see figure 3-1. the tx bbp reads the frame data from the frame buff er and performs the bit-to- symbol and symbol-to-chip mapping as specified by i eee 802.15.4 in section 6.5.2. the o-qpsk modulation signal is generated and fed i nto the analog radio front end. the fractional-n frequency synthesizer (pll) conver ts the baseband transmit signal to the rf signal, which is amplified by the power ampl ifier (pa). the pa output is internally
59 5131d-zigb-12/03/07 at86rf230 connected to bidirectional differential antenna pin s (rfp, rfn), so that no external antenna switch is needed. 9.2.2 configuration in basic operating mode a transmission is started f rom pll_on state by either writing tx_start to register bits trx_cmd (register 0x02, t rx_state) or by raising edge of slp_tr. in extended operating modes a transmission is start ed automatically dependent on the transaction phase of either rx_aack or tx_aret, ref er to section 7.2. the rf output power can be set via register bits tx _pwr in register 0x05 (phy_tx_pwr). the maximum output power of the trans mitter is typical +3 dbm. the selectable output power range of the transmitter is 20 db. 9.2.3 register description register 0x05 (phy_tx_pwr) the phy_tx_pwr register sets the transmit power and controls the fcs algorithm for tx operation. bit 7 6 5 4 0x05 tx_auto_crc_on reserved phy_tx_pwr read/write r/w r r r reset value 0 0 0 0 bit 3 2 1 0 0x05 tx_pwr phy_tx_pwr read/write r/w r/w r/w r/w reset value 0 0 0 0 ? bit 7 ? tx_auto_crc_on refer to sections 7.2.6 and 8.2. ? bit [6:4] ? reserved ? bit [3:0] ? tx_pwr the register bits tx_pwr sets the tx output power o f the at86rf230. the available power settings are summarized in table 9-1. table 9-1. pa output power setting register bits value [3:0] output power [dbm] 0x0 +3.0 0x1 +2.6 0x2 +2.1 0x3 +1.6 0x4 +1.1 0x5 +0.5 0x6 -0.2 0x7 -1.2 0x8 -2.2 0x9 -3.2 tx_pwr 0xa -4.2
60 5131d-zigb-12/03/07 at86rf230 register bits value [3:0] output power [dbm] 0xb -5.2 0xc -7.2 0xd -9.2 0xe -12.2 0xf -17.2 9.3 frame buffer the at86rf230 contains a 128 byte dual port sram. o ne port is connected to the spi interface, the other to the internal tx/rx bbp port . for data communication both ports are independent and simultaneously accessible. acce ss conflicts are indicated by a trx under run (trx_ur) interrupt. the frame buffer is used for the tx and rx operatio n of the device and can keep one ieee 802.15.4-2003 tx or one rx frame of maximum le ngth at a time. note, a frame buffer access is only possible if the digital voltage regulator is turned on. this is the case in all device states except in sle ep and p_on. 9.3.1 frame buffer data management data stored in frame buffer (received data or data to be transmitted) remains valid as long as ? no new frame is written into the buffer via spi ? no new frame is received (in any busy_rx state) ? no state change into sleep state is made if the radio transceiver is in any rx state an inco ming frame with valid sfd field overwrites the frame buffer content 32 s after the rx_start interrupt occurs, even if the rx_start interrupt is disabled. thus the frame buffer content should be uploaded to the microcontroller before the next sfd is received. to avoid an unintended frame buffer overwrite a state change to pll_on immediately after the frame reception (trx_end interrupt) is recommended. using the extended operating mode states tx_aret_on or tx_aret_on_noclk, the radio transceiver switches to rx (after success ful frame transmission), if an acknowledgement was requested in fcf. received fram es are evaluated but not stored in the frame buffer in these states. this al lows the radio transceiver to wait for an acknowledgement frame and retry the data frame t ransmission without downloading them again. a radio transceiver state change, except a transiti on to sleep, does not affect the frame buffer contents. if the radio transceiver is forced into sleep, the frame buffer is powered off and the stored data gets lost. 9.3.2 user accessible frame content the at86rf230 supports an ieee 802.15.4-2003 compli ant frame format as shown in figure 9-1.
61 5131d-zigb-12/03/07 at86rf230 figure 9-1. frame structure a frame comprises two sections, the fixed internall y generated shr field and the user accessible part stored in the frame buffer. the fir st fixed part of the frame consists of the preamble and the sfd field. the variable frame section contains the frame length field and the frame payload followed by the fcs fie ld. the frame buffer content differs depending on the direction of the communication (rx or tx). to access the data follow the procedures described in sections 6.2.2 and 6.2. 3. in any of the receive states, the payload and the l ink quality indicator (lqi) value of a successfully received frame are stored to the frame buffer. the radio transceiver appends the lqi value to the psdu data. the frame l ength information is not stored to the frame buffer. when using the frame buffer acces s mode to read the frame buffer content, the phr octet is automatically prefixed to the payload during the upload process. if the sram access mode is used, the frame length information cannot be accessed. the preamble or the sfd value cannot be r ead. for frame transmission, the phr octet and the psdu data shall be stored to the frame buffer. if the tx_auto_crc_on bit is set in registe r 0x05 (phy_tx_pwr), the fcs field is replaced by the automatically calculated f cs during frame transmission. there is no need to download the fcs field when using the automatic fcs generation. for non ieee 802.15.4-2003 frames, the minimum psdu length supported by the at86rf230 is one byte. 9.3.3 frame buffer interrupt handling access conflicts may occur when reading or writing data simultaneously at the two independent ports of the frame buffer, bbp and spi. both of these ports have its own address counter that points to the frame buffer?s c urrent address. during frame buffer read access, if the spi port?s address counter value is more than or equal to that of tx/rx bbp port then an access v iolation occurs. this indicates that the spi transfer rate is higher than the phy data r ate. similar on frame buffer write access, an access vio lation occurs if the spi port?s address counter value is less than or equal to that of tx/rx bbp port. this access violation can occur if the spi transfer rate during a frame download is slower than the phy data rate, while having started the frame trans mission already. both these access violations may cause data corrupt ion and are indicated by trx_ur interrupt when using the frame buffer access mode. access violations are not indicated when using the sram access mode. while receiving a frame, primarily the data needs t o be stored to the frame buffer before reading it. this can be ensured by starting the frame buffer read access 32 s after the rx_start interrupt at the earliest. when reading the frame data continuously
62 5131d-zigb-12/03/07 at86rf230 the spi transfer rate shall be lower than 250 kbit/ s to ensure no trx_ur interrupt occurs. note, during the frame buffer read access the trx_u r interrupt is first valid 64 s after the rx_start interrupt. the occurrence of the interrupt can be disregarded when reading the first byte of the frame buffer between 32 s and 64 s after the rx_start interrupt. if a received frame upload is delayed and during th e upload process a new frame is received, a trx_ur and an rx_start interrupt occurs . even so, the old frame data can be read, if the spi data rate is higher than th e effective over air data rate. a minimum spi clock rate of 1 mhz is recommended in t his special case. finally it is required to check the uploaded frame data integrity by a fcs using the microcontroller. when writing data to the frame buffer during frame transmission, the spi transfer rate shall be higher than 250 kbit/s to ensure no trx_ur interrupt occurs. the first byte of the psdu data must be available in the frame buffer before sfd transmission has been completed, which takes 176 s (16 s pa ramp u p + 128 s preamble transmission + 32 s sfd transmission) from the ris ing edge of slp_tr pin (see figure 7-2). 9.4 voltage regulators (avreg, dvreg) the main features of the voltage regulator modules are: ? bandgap stabilized 1.8v supply for analog and digi tal domain. ? low dropout (ldo) voltage regulator ? configurable for usage of external voltage regulat or 9.4.1 overview the internal voltage regulators supply the low volt age domains of the at86rf230. the avreg provides the regulated 1.8v supply voltage fo r the analog section and the dvreg supplies the 1.8v supply voltage for the digi tal section. a simplified schematic of the internal voltage regulator is shown in figur e 9-2. figure 9-2. simplified schematic of avreg/dvreg bandgap voltage reference 1.25v dvdd / avdd devdd / evdd
63 5131d-zigb-12/03/07 at86rf230 9.4.2 configure the voltage regulators the voltage regulators can be configured by the reg ister 0x10 (vreg_ctrl). it is recommended to use the internal regulators, b ut it is also possible to supply the low voltage domains by an external voltage source. for this configuration, the internal regulators need to be switched off by setting the r egister bits to the values avreg_ext = 1 and dvreg_ext = 1. a regulated extern al supply voltage of 1.8v needs to be connected to the pins dvdd and avdd. wh en turning on the external supply, ensure a sufficiently long stabilization ti me before interacting with the at86rf230. 9.4.3 data interpretation the status bit values avdd_ok = 1 and dvdd_ok = 1 i ndicate an enabled and stable internal supply voltage. reading 0 indicates a disa bled or unstable internal supply voltage. 9.4.4 register description register 0x10 (vreg_ctrl) this register vreg_ctrl controls the use of the vol tage regulators and indicates the status of these. bit 7 6 5 4 0x10 avreg_ext avdd_ok reserved vreg_ctrl read/write r/w r r/w r/w initial value 0 0 0 0 bit 3 2 1 0 0x10 dvreg_ext dvdd_ok reserved vreg_ctrl read/write r/w r r/w r/w initial value 0 0 0 0 ? bit 7 ? avreg_ext the register bit avreg_ext defines whether the inte rnal analog voltage regulator or an external regulator is used to supply the analog low voltage building blocks of the radio transceiver. table 9-2. regulated voltage supply control for analog buildi ng blocks register bit value description 0 use internal voltage regulator avreg_ext 1 use external voltage regulator, internal voltage regulator is disabled ? bit 6 ? avdd_ok this register bit avdd_ok indicates if the internal 1.8v regulated supply voltage avdd has settled. the bit is set to logic high, if avreg _ext = 1. table 9-3 regulated voltage supply control for analog buildi ng blocks register bit value description 0 analog voltage regulator disabled or supply voltag e not stable avdd_ok 1 analog supply voltage has settled
64 5131d-zigb-12/03/07 at86rf230 ? bit [5:4] ? reserved ? bit 7 ? dvreg_ext the register bit dvreg_ext defines whether the inte rnal digital voltage regulator or an external regulator is used to supply the digital lo w voltage building blocks of the radio transceiver. table 9-4. regulated voltage supply control for digital build ing blocks register bit value description 0 use internal voltage regulator dvreg_ext 1 use external voltage regulator, internal voltage regulator is disabled ? bit 6 ? dvdd_ok this register bit dvdd_ok indicates if the internal 1.8v regulated supply voltage dvdd has settled. the bit is set to logic high, if dvreg _ext = 1. table 9-5 regulated voltage supply control for digital build ing blocks register bit value description 0 digital voltage regulator disabled or supply volta ge not stable dvdd_ok 1 digital supply voltage has settled ? bit [1:0] ? reserved 9.5 battery monitor (batmon) the main features of the battery monitor are: ? programmable voltage threshold range: 1.7v to 3.67 5v ? battery low voltage interrupt 9.5.1 overview the battery monitor (batmon) detects and indicates a low supply voltage. this is done by comparing the voltage on the external supply pin (evdd) with a programmable internal threshold voltage. a simplified schematic of the batmon with the most important input and output signals is shown in figu re 9-3. figure 9-3. simplified schematic of batmon batmon_hr batmon_vth 4 evdd threshold voltage batmon_ok ?1? batmon_irq for input-to-output mapping see control register 0x11 (batmon) dac + - d q clear
65 5131d-zigb-12/03/07 at86rf230 9.5.2 data interpretation the signal bit batmon_ok of register 0x11 (batmon) indicates the current value of the battery voltage: ? if batmon_ok = 0, the battery voltage is lower tha n the threshold voltage ? if batmon_ok = 1, the battery voltage is higher th an the threshold voltage after setting a new threshold, the value batmon_ok should be read out to verify the current supply voltage value. note, the battery monitor is inactive during p_on a nd sleep states, see control register 0x01 (trx_status). 9.5.3 batmon interrupt handling a supply voltage drop below the programmed threshol d value is indicated by the bat_low interrupt, see control register 0x0e and 0x 0f. the interrupt is issued only if batmon_ok changes from 1 to 0. no interrupt is generated when: ? the battery voltage is under the default 1.8v thre shold at power up (batmon_ok was never 1), or ? a new threshold is set, which is still above the c urrent supply voltage (batmon_ok remains 0). noise or temporary voltage drops may generate unwan ted interrupts when the battery voltage is close to the programmed threshold voltag e. to avoid this: ? disable the irq_7 (bat_low) in register 0x0e (irq_ mask) and treat the battery as empty, or ? set a lower threshold value. 9.5.4 register description register 0x11 (batmon) the register batmon configures the battery monitor. additionally the supply voltage status at pin 28 (evdd) is accessible by reading re gister bit batmon_ok according to the actual batmon settings. bit 7 6 5 4 0x11 reserved batmon_ok batmon_hr batmon read/write r r r r/w reset value 0 0 0 0 bit 3 2 1 0 0x11 batmon_vth batmon read/write r/w r/w r/w r/w reset value 0 0 1 0 ? bit [7:6] ? reserved ? bit 5 ? batmon_ok the register bit batmon_ok indicates the level of t he external supply voltage with respect to the programmed threshold batmon_vth.
66 5131d-zigb-12/03/07 at86rf230 table 9-6. battery monitor status register bit value description 0 v dd < batmon_vth batmon_ok 1 v dd > batmon_vth ? bit 4 ? batmon_hr the register bit batmon_hr selects the range and re solution of the battery monitor. table 9-7. battery monitor voltage range settings register bit value description 0 enables the low range, see batmon_vth batmon_hr 1 enables the high range, see batmon_vth ? bit [3:0] ? batmon_vth the threshold value for the battery monitor is set with register bits batmon_vth. table 9-8. battery monitor threshold voltages value batmon_vth [3:0] threshold voltage [v] batmon_hr = 1 threshold voltage [v] batmon_hr = 0 0x0 2.550 1.70 0x1 2.625 1.75 0x2 2.700 1.80 0x3 2.775 1.85 0x4 2.850 1.90 0x5 2.925 1.95 0x6 3.000 2.00 0x7 3.075 2.05 0x8 3.150 2.10 0x9 3.225 2.15 0xa 3.300 2.20 0xb 3.375 2.25 0xc 3.450 2.30 0xd 3.525 2.35 0xe 3.600 2.40 0xf 3.675 2.45 9.6 crystal oscillator (xosc) the main crystal oscillator features are: ? 16 mhz amplitude controlled crystal oscillator ? 500 s typical settling time ? integrated trimming capacitance array ? programmable clock output (clkm)
67 5131d-zigb-12/03/07 at86rf230 9.6.1 overview the crystal oscillator generates the reference freq uency for the at86rf230. all other internally generated frequencies of the radio trans ceiver are derived from this unique frequency. therefore, the overall system performanc e is mainly based on the accuracy of this reference frequency. the external component s of the crystal oscillator should be selected carefully and the related board layout sho uld be done meticulously (refer to section 5). the register 0x12 (xosc_ctrl) provides access to th e control signals of the oscillator. two operating modes are supported. it i s recommended to use the integrated oscillator setup as described in figure 9-4, nevert heless a reference frequency can be fed to the internal circuitry by using an external clock reference as shown in figure 9-5. 9.6.2 integrated oscillator setup using the internal oscillator, the oscillation freq uency strongly depends on the load capacitance between the crystal pins xtal1 and xtal 2. the total load capacitance cl must be equal to the specified load capacitance of the crystal itself. it consists of the external capacitors cx and parasitic capacitances c onnected to the xtal nodes. in figure 9-4, all parasitic capacitances, such as pcb stray capacitances and the pin input capacitance, are summarized to c par . additional internal trimming capacitors c trim are available. any value in the range from 0 pf to 4.5 pf with a 0.3 pf resolution is selectable using xtal_trim of register 0x12 (xosc_c trl). to calculate the total load capacitance, the following formula can be used cl = 0.5?(cx+c trim +c par ). the trimming capacitors provide the possibility of reducing frequency deviations caused by production process variations or by external com ponents tolerances. note that the oscillation frequency can be reduced only by increa sing the trimming capacitance. the frequency deviation caused by one step of c trim decreases with increasing crystal load capacitor values. a magnitude control circuit is included to ensure s table operation under different operating conditions and for different crystal type s. a high current during the amplitude build-up phase guarantees a low start-up time. at s table operation, the current is reduced to the amount necessary for a robust operat ion. this also keeps the drive level of the crystal low. generally, crystals with a higher load capacitance are less sensitive to parasitic pulling effects caused by external component variations or by variations of board and circuit parasitics. on the other hand, a larger crystal loa d capacitance results in a longer start- up time and a higher steady state current consumpti on.
68 5131d-zigb-12/03/07 at86rf230 figure 9-4. simplified xosc schematic with external components cx cx 16mhz xtal1 xtal2 evdd c trim c trim c par c par at86rf230 pcb xtal_trim[3:0] xtal_trim[3:0] 9.6.3 external reference frequency setup when using an external reference frequency, the sig nal needs to be connected to pin xtal1 as indicated in figure 9-5 and the register x tal_mode of register 0x12 (xosc_ctrl) need to be set to the external oscillat or mode. the oscillation peak-to- peak amplitude shall be 400 mv, but not larger than 500 mv. figure 9-5. setup for using an external frequency reference xtal1 xtal2 at86rf230 pcb 16 mhz 9.6.4 master clock signal output (clkm) the generated reference clock signal can be fed to a microcontroller using pin 17 (clkm). the internal 16 mhz raw clock can be divide d by an internal prescaler. thus, clock frequencies of 16 mhz, 8 mhz, 4 mhz, 2 mhz or 1 mhz can be supplied by pin clkm. the clkm frequency and pin driver strength is confi gurable using register 0x03 (trx_ctrl_0). there are two possibilities to c hange the clkm frequency. if clkm_sha_sel = 0, changing the register bits clkm_c trl (register 0x03, trx_ctrl_0) immediately affects the clkm clock rate . otherwise (clkm_sha_sel = 1) the new clock rate is supplied w hen leaving the sleep state the next time.
69 5131d-zigb-12/03/07 at86rf230 to reduce power consumption and spurious emissions, it is recommended to turn off the clkm clock when not in use or to reduce its dri ver strength to a minimum, refer to section 4.3. note: during reset procedure, see section 7.1.4.2, regist er bits clkm_ctrl are shadowed. although the clock setting of clkm remains after re set, a read access to register bits clkm_ctrl delivers the reset value 1. for that reas on it is recommended to write the previous configuration (before reset) to the clkm_c trl to align the radio transceiver behavior and register configuration. otherwise the clkm clock rate is set back to the reset value (1 mhz) after the next sleep cycle. for example if the clkm clock rate is configured to 16 mhz the clkm rate remains at 16 mhz after a reset, however the register bits clk m_ctrl are set back to 1. since clkm_sha_sel reset value is 1, the clkm clock rate would change to 1 mhz after the next sleep cycle if the clkm_ctrl setting is no t updated. 9.6.5 register description register 0x03 (trx_ctrl_0) the trx_ctrl_0 register controls the drive current of the digital output pads and the clkm clock rate. bit 7 6 5 4 0x03 pad_io pad_io_clkm trx_ctrl_0 read/write r/w r/w r/w r/w reset value 0 0 0 1 bit 3 2 1 0 0x03 clkm_sha_sel clkm_ctrl trx_ctrl_0 read/write r/w r/w r/w r/w reset value 1 0 0 1 ? bit [7:6] ? pad_io refer to in section 4.3.3. ? bit [5:6] ? pad_io_clkm the register bits pad_io_clkm set the output driver current of pin clkm. table 9-9. clkm driver strength register bit value description 0 2 ma 1 4 ma 2 6 ma pad_io_clkm 3 8 ma ? bit 3 ? clkm_sha_sel the register bit clkm_sha_sel defines the commencem ent of the clkm clock rate modifications when changing register bits clkm_ctrl . table 9-10. commencement of clkm clock rate modification register bit value description clkm_sha_sel 0 clkm clock rate changes immediately
70 5131d-zigb-12/03/07 at86rf230 register bit value description 1 clkm clock rate changes after sleep cycle ? bit [2:0] ? clkm_ctrl the register bits clkm_ctrl set clock rate of pin c lkm. table 9-11. clock rate at pin clkm register bit value description 0 no clock 1 1 mhz 2 2 mhz 3 4 mhz 4 8 mhz 5 16 mhz 6 reserved clkm_ctrl 7 reserved register 0x12 (xosc_ctrl) the register xosc_ctrl controls the operation of th e crystal oscillator. bit 7 6 5 4 0x12 xtal_mode xosc_ctrl read/write r/w r/w r/w r/w initial value 1 1 1 1 bit 3 2 1 0 0x12 xtal_trim xosc_ctrl read/write r/w r/w r/w r/w initial value 0 0 0 0 ? bit [7:4] ? xtal_mode the register bit xtal_mode sets the operating mode of the crystal oscillator. table 9-12. crystal oscillator operating mode register bit value description 0x0 crystal oscillator disabled, no clock signal is fed to the internal circuitry. 0x4 internal crystal oscillator disabled, use exter nal reference frequency xtal_mode 0xf internal crystal oscillator enabled ? bit [3:0] ? xtal_trim the register bits xtal_trim control two internal ca pacitance arrays connected to pins xtal1 and xtal2. a capacitance value in the range f rom 0 pf to 4.5 pf is selectable with a resolution of 0.3 pf. table 9-13. crystal oscillator trimming capacitors register bit value description xtal_trim 0x0 0.0 pf, trimming capacitors disconnected
71 5131d-zigb-12/03/07 at86rf230 register bit value description 0x1 0.3 pf, trimming capacitor switched on ? 0xf 4.5 pf, trimming capacitor switched on 9.7 frequency synthesizer (pll) the main pll features are: ? generate rx/tx frequencies for all ieee 802.15.4 - 2.4 ghz channels ? fully integrated fractional-n synthesizer ? autonomous calibration loops for stable operation within the operating range ? two pll-interrupts for status indication 9.7.1 overview the synthesizer of the at86rf230 is implemented as a fractional-n pll. the pll is fully integrated and configurable by registers 0x08 (phy_cc_cca), 0x1a (pll_cf) and 0x1b (pll_dcu). the pll is turned on when entering the state pll_on and stays on in all receive and transmit states. the pll settles to the correct fre quency needed for rx or tx operation according to the adjusted channel center frequency in register 0x08 (phy_cc_cca). two calibration loops ensure correct pll functional ity within the specified operating limits. 9.7.2 rf channel selection the pll is designed to support 16 channels in the i eee 802.15.4 ? 2.4 ghz band with a channel spacing of 5 mhz. the center frequency f ch of these channels is defined as follows: f ch = 2405 + 5 (k ? 11) [mhz], for k = 11, 12, ..., 26 where k is the channel number. the channel k is selected by register bits channel (register 0x08, phy_cc_ca). 9.7.3 calibration loops the center frequency control loop ensures a correct center frequency of the vco for the currently programmed channel. the delay calibration unit compensates the phase er rors inherent in fractional-n plls. using this technique, unwanted spurious frequency c omponents beside the rf carrier are suppressed, and the pll behaves similar to an i nteger-n pll. both calibration routines are initiated automatical ly when the pll is turned on. additionally, the center frequency calibration is r unning when the pll is programmed to a different channel (register bits channel in regis ter 0x08). if the pll operates for a long time on the same cha nnel or the operating temperature changes significantly, the control loops should be initiated manually. the recommended calibration interval is 5 min. both calibration loops can be initiated manually by setting pll_cf_start = 1 of register 0x1a (pll_cf) and register bit pll_dcu_sta rt = 1 of register 0x1b
72 5131d-zigb-12/03/07 at86rf230 (pll_dcu). to start the calibrations routines the d evice should be in state pll_on. the center frequency tuning takes a maximum of 80 s. the completion is indicated by a pll_lock interrupt. the delay cell calibration lo op is completed after 6 s. this is typically not indicated by a pll_lock interrupt. 9.7.4 pll interrupt handling there are two different interrupts indicating the p ll status (see register 0x0f). the pll_lock interrupt indicates that the pll has locke d. the pll_unlock interrupt indicates an unexpected unlock condition. a pll_loc k interrupt clears any preceding pll_unlock interrupt automatically and vice versa. a pll_lock interrupt occurs in the following situat ions: ? state change from trx_off to pll_on/rx_on ? channel change in states pll_on/rx_on ? initiating a center frequency tuning manually the state transition from busy_tx to pll_on can als o initiate a pll_lock interrupt, due to the pll settling back to the rx frequency. any other occurrences of pll interrupts indicate er roneous behavior and require checking of the actual device status. 9.7.5 register description register 0x08 (phy_cc_cca) the phy_cc_cca register contains register bits to i nitiate and control the cca measurement as well as to set the channel center fr equency. bit 7 6 5 4 0x08 cca_request cca_mode channel phy_cc_cca read/write r/w r/w r/w r/w reset value 0 0 1 0 bit 3 2 1 0 0x08 channel phy_cc_cca read/write r/w r/w r/w r/w reset value 1 0 1 1 ? bit 7 ? cca_request refer to section 8.6.4. ? bit [6:5] ? cca_mode refer to section 8.6.4. ? bit [4:0] ? channel the register bits channel define the rx/tx channel. the channel assignment is according to ieee 802.15.4. table 9-14. channel assignment for ieee 802.15.4 ? 2.4 ghz ban d register bit value channel number center frequency [ mhz] 0x0b 11 2405 0x0c 12 2410 0x0d 13 2415 channel 0x0e 14 2420
73 5131d-zigb-12/03/07 at86rf230 register bit value channel number center frequency [ mhz] 0x0f 15 2425 0x10 16 2430 0x11 17 2435 0x12 18 2440 0x13 19 2445 0x14 20 2450 0x15 21 2455 0x16 22 2460 0x17 23 2465 0x18 24 2470 0x19 25 2475 0x1a 26 2480 register 0x1a (pll_cf) the register pll_cf controls the operation of the c enter frequency calibration loop. bit 7 6 5 4 0x1a pll_cf_start reserved pll_cf read/write r/w r/w r/w r/w reset value 0 1 0 1 bit 3 2 1 0 0x1a reserved pll_cf read/write r/w r/w r/w r/w reset value 0 1 1 1 ? bit 7 ? pll_cf_start pll_cf_start = 1 initiates the center frequency cal ibration. the calibration cycle has finished after a maximum of 80 s. the register bit is cleared immediately after the register write operation. ? bit [6:0] ? reserved register 0x1b (pll_dcu) the register pll_dcu controls the operation of the delay cell calibration loop. bit 7 6 5 4 0x1b pll_dcu_start reserved pll_dcu read/write r/w r r/w r/w reset value 0 0 1 0 bit 3 2 1 0 0x1b reserved pll_dcu read/write r/w r/w r/w r/w reset value 0 0 0 0
74 5131d-zigb-12/03/07 at86rf230 ? bit 7 ? pll_dcu_start pll_dcu_start = 1 initiates the delay cell calibrat ion. the calibration cycle has finished after maximum of 6 s. the register bit is cleared immediately after the register write operation. ? bit [6:0] ? reserved 9.8 automatic filter tuning (ftn) the filter-tuning unit is a separate block within t he at86rf230. the filter-tuning result is used to provide a correct ssbf transfer function an d pll loop-filter time constant independent of temperature effects and part-to-part variations. a calibration cycle is initiated automatically when entering the trx_off state from the sleep, reset or p_on states.
75 5131d-zigb-12/03/07 at86rf230 10 radio transceiver usage this section describes basic procedures to receive and transmit frames using the at86rf230. for a detailed programming description r efer to application note avr2009 ?at86rf230 ? software programming model?. 10.1 frame receive procedure while in state rx_on the radio transceiver searches for incoming frames on the selected channel. a detection of a valid ieee 802.1 5.4 frame is indicated by an irq_2 (rx_start) interrupt. the frame reception is comple ted when issuing the irq_3 (trx_end) interrupt. waiting for irq_3 (trx_end) in terrupt before uploading the frame to the microcontroller is recommended for ope rations considered to be non time critical. figure 9-6 illustrates the frame receive procedure. figure 9-6. frame receive procedure - transactions between at8 6rf230 and microcontroller at86rf230 microcontroller critical protocol timing could require starting the frame upload as soon as possible. the first byte of the frame data can be read 32 s afte r the irq_2 (rx_start) interrupt. the microcontroller must ensure to read slower than the frame is received. otherwise, the frame buffer wills under run, irq_6 (trx_ur) in terrupt is issued. the frame data are not valid anymore and need to read again. the l qi byte can be uploaded to the microcontroller after the irq_3 (trx_end) interrupt was issued. 10.2 frame transmit procedure a frame transmission comprises two actions, a frame download to the frame buffer and the transmission of the frame buffer content. both actions can be run in parallel if required by critical protocol timing. figure 9-7 illustrates the frame transmit procedure , when downloading and transmitting the frame consecutively. after a frame download by a frame buffer write access, the frame transmission is initiated by asserting pin sl p_tr or writing the trx command tx_start to register 0x02 (trx_state), while the ra dio transceiver is in state pll_on. the completion of the transmission is indic ated by an irq_3 (trx_end) interrupt.
76 5131d-zigb-12/03/07 at86rf230 figure 9-7. frame transmit procedure - transactions between at8 6rf230 and microcontroller alternatively, the frame transmission can be starte d before the frame data download as described in figure 9-8. this is useful for time cr itical applications. at the rising edge of spl_tr, the radio transceiver starts transmitting t he preamble and the sfd field, which takes about 176 s (see figure 7-2). the first byte of the psdu must be available in the frame buffer before this time. the spi data rate mu st be higher than 250 kbit/s to ensure that no frame buffer under run occurs (irq_6 , trx_ur). figure 9-8. time optimized frame transmit procedure - transact ions between at86rf230 and microcontroller
77 5131d-zigb-12/03/07 at86rf230 11 technical parameters 11.1 absolute maximum ratings note: stresses beyond those listed under ?absolute maxim um ratings? may cause permanent damage to the device. this is a stress ra ting only and functional operation of the device at these or any other conditions beyond those indicated in the operational sections of this specification are not implied. exp osure to absolute maximum rating conditions for extended periods may affect device r eliability. table 11-1. absolute maximum ratings no parameter symbol min typ max unit conditions/note s 11.1.1 storage temperature t stor -50 150 c 11.1.2 lead temperature t lead 260 c 11.1.3 esd robustness v esd 4 750 kv v compl. to [2] compl. to [3] 11.1.4 input rf level p rf +14 dbm 11.1.5 voltage on all pins (except pins 4, 5, 13, 14, 29) -0.3 v dd +0.3 11.1.6 voltage on pins 4, 5, 13, 14, 29 -0.3 2.0 11.2 recommended operating range table 11-2. operating range no parameter symbol min typ max unit conditions/note s 11.2.1 operating temperature range t op -40 +85 c 11.2.2 supply voltage v dd 1.8 3.0 3.6 v 11.2.3 supply voltage (on pins 13, 14, 29) v dd1.8 1.65 1.8 1.95 v when using external voltage regulators (see section 9.4). 11.3 digital pin specifications test conditions (unless otherwise stated): t op = 25c table 11-3. digital pin specifications no parameter symbol min typ max unit conditions/note s 11.3.1 high level input voltage v ih v dd ? 0.4 v 11.3.2 low level input voltage v il 0.4 v 11.3.3 high level output voltage v oh v dd ? 0.4 v for all output driver strengths defined in trx_ctrl_0 11.3.4 low level output voltage v ol 0.4 v for all output driver strengths defined in trx_ctrl_0
78 5131d-zigb-12/03/07 at86rf230 11.4 digital interface timing specifications test conditions (unless otherwise stated): v dd = 3v, t op = 25c table 11-4. digital interface timing parameters no parameter symbol min typ max unit conditions/note s 11.4.1 sclk frequency (synchronous mode) 8 mhz 11.4.2 sclk frequency (asynchronous mode) 7.5 mhz 11.4.3 sel low to miso active t 1 180 ns 11.4.4 sclk to miso out t 2 48 ns data hold time 11.4.5 mosi setup time t 3 10 ns 11.4.6 mosi hold time t 4 10 ns 11.4.7 lsb last byte to msb next byte t 5 250 ns 11.4.8 sel high to miso tristate t 6 10 ns 11.4.9 slp_tr pulse width t 7 65 ns tx start trigger 11.4.10 spi idle time t 8 250 ns idle time between consecutive spi accesses 11.4.11 last sclk to sel high t 9 250 ns 11.4.12 reset pulse width 625 ns 10 clock cycles at 16 mhz 11.4.13 output clock frequency (clkm) 0 1 2 4 8 16 mhz mhz mhz mhz mhz mhz programmable in register trx_ctrl_0 11.5 general rf specifications test conditions (unless otherwise stated): v dd = 3v, f = 2.45 ghz, t op = 25c, measurement setup see figure 5-1 table 11-5. general rf parameters no parameter symbol min typ max unit conditions/note s 11.5.1 frequency range f 2405 2480 mhz as specifie d in [1] 11.5.2 bit rate f bit 250 kbit/s as specified in [1] 11.5.3 chip rate f chip 2000 kchip/s as specified in [1] 11.5.4 reference oscillator frequency f clk 16 mhz 11.5.5 reference oscillator settling time 0.5 1 ms leaving sleep state to clock available at pin clkm 11.5.6 reference frequency accuracy for proper functionality -60 +60 ppm 40 ppm is required by [1] 11.5.7 tx signal 20 db bandwidth b 20db 2.8 mhz rbw 100 khz vbw 300 khz
79 5131d-zigb-12/03/07 at86rf230 11.6 transmitter specifications test conditions (unless otherwise stated): v dd = 3v, f = 2.45 ghz, t op = 25c, measurement setup see figure 5-1 table 11-6. tx parameters no parameter symbol min typ max unit conditions/note s 11.6.1 output power p tx 0 3 6 dbm maximum configurable value 11.6.2 output power range 20 db configurable in register phy_tx_pwr 11.6.3 output power tolerance 3 db 11.6.4 tx return loss 10 db 11.6.5 evm 8 %rms 11.6.6 harmonics 2nd harmonic 3rd harmonic -38 -45 dbm dbm 11.6.7 spurious emissions 30 ? 1000 mhz >1 ? 12.75 ghz 1.8 ? 1.9 ghz 5.15 ? 5.3 ghz -36 -30 -47 -47 dbm dbm dbm dbm complies with en 300 328/440, fcc-cfr-47 part 15, arib std-66, rss-210 11.7 receiver specifications test conditions (unless otherwise stated): v dd = 3v, f = 2.45 ghz, t op = 25c, measurement setup see figure 5-1 table 11-7. rx parameters no parameter symbol min typ max unit conditions/note s 11.7.1 receiver sensitivity -101 dbm awgn channe l, per 1%, psdu length of 20 octets 11.7.2 rx return loss 10 db 100 differential impedance 11.7.3 noise figure nf 6 db 11.7.4 maximum rx input level 10 dbm per 1%, psdu length of 20 octets 11.7.5 adjacent channel rejection 5 mhz 34 dbm per 1%, psdu length of 20 octets, p rf = -82 dbm 11.7.6 adjacent channel rejection +5 mhz 36 dbm per 1%, psdu length of 20 octets, p rf = -82 dbm 11.7.7 alternate adjacent channel rejection 10 mhz 52 dbm per 1%, psdu length of 20 octets, p rf = -82 dbm 11.7.8 alternate adjacent channel rejection +10 mhz 53 dbm per 1%, psdu length of 20 octets, p rf = -82 dbm 11.7.9 spurious emissions lo leakage 30 ? 1000 mhz >1 ? 12.75 ghz -75 -57 -47 dbm dbm dbm
80 5131d-zigb-12/03/07 at86rf230 no parameter symbol min typ max unit conditions/note s 11.7.10 tx/rx carrier frequency offset tolerance -300 300 khz sensitivity loss < 2 db; equals 120 ppm ([1] requires 80 ppm) 11.7.11 3rd-order intercept point iip3 -9 db at maximum g ain offset freq. interf. 1 = 5 mhz offset freq. interf. 2 = 10 mhz 11.7.12 2nd-order intercept point iip2 24 db at maximum g ain offset freq. interf. 1 = 60 mhz offset freq. interf. 2 = 62 mhz 11.7.13 rssi tolerance 5 db 11.7.14 rssi dynamic range 81 db 11.7.15 rssi resolution 3 db 11.7.16 rssi sensitivity -91 dbm defined as rssi_base_va l 11.7.17 minimum rssi value 0 p rf < rssi_base_val 11.7.18 maximum rssi value 28 p rf rssi_base_val + 81 db 11.8 current consumption specifications test conditions (unless otherwise stated): v dd = 3v, f = 2.45 ghz, t op = 25c, measurement setup see figure 5-1 table 11-8. current consumption no parameter symbol min typ max unit conditions/note s 11.8.1 supply current transmit state i busy_tx 16.5 14.5 12.5 9.5 ma ma ma ma p tx = 3 dbm p tx = 1 dbm p tx = -3 dbm p tx = -17 dbm (at each output power level, the supply current consumption can be decreased by approx. 2 ma if reducing v dd to 1.8v.) 11.8.2 supply current receive state i rx_on 15.5 ma state: rx_on 11.8.3 supply current trx_off state i trx_off 1.5 ma state: trx_off 11.8.4 supply current sleep state i sleep 0.02 a state: sleep 11.8.5 supply current pll_on state i pll_on 7.8 ma state: pll_on 11.9 crystal parameter requirements table 11-9. crystal parameter requirements no parameter symbol min typ max unit conditions/note s 11.9.1 crystal frequency f 0 16 mhz 11.9.2 load capacitance c l 8 14 pf 11.9.3 static capacitance c 0 7 pf 11.9.4 series resistance r 1 100
81 5131d-zigb-12/03/07 at86rf230 12 register reference the at86rf230 provides a register space of 64 8-bit registers, which is used to configure, control and monitor the radio transceive r. the registers can be accessed in any order. note: all registers not mentioned within the following t able are reserved for internal use and must not be overwritten. when writing to a regi ster, any reserved bits shall be overwritten only with their reset value (see table 12-2). table 12-1. register summary ? non reserved registers addr. name bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 page 0x01 trx_status cca_done cca_status reserved trx_status pg. 27, 38, 55 0x02 trx_state trac_status trx_cmd pg. 28, 39 0x03 trx_ctrl_0 pad_io pad_io_clkm clkm_sha_sel clkm_ctrl pg. 7, 69 0x05 phy_tx_pwr tx_auto_crc_on reserved tx_pwr pg. 49, 59 0x06 phy_rssi rx_crc_valid reserved rssi pg. 50, 52 0x07 phy_ed_level ed_level pg. 51 0x08 phy_cc_cca cca_request cca_mode channel pg. 56, 72 0x09 cca_thres reserved cca_ed_thres pg. 57 0x0e irq_mask irq_mask pg. 20 0x0f irq_status irq_7 irq_6 reserved irq_3 irq_2 ir q_1 irq_0 pg. 20 0x10 vreg_ctrl avreg_ext avdd_ok reserved dvreg_ext dvdd_ok reserved pg. 63 0x11 batmon reserved batmon_ok batmon_hr batmon_vth pg. 65 0x12 xosc_ctrl xtal_mode xtal_trim pg. 70 0x1a pll_cf pll_cf_start reserved pg. 73 0x1b pll_dcu pll_dcu_start reserved pg . 73 0x1c part_num part_num pg. 16 0x1d version_num version_num pg. 16 0x1e man_id_0 man_id_0 pg. 17 0x1f man_id_1 man_id_1 pg. 17 0x20 short_addr_0 short_addr_0 pg. 42 0x21 short_addr_1 short_addr_1 pg. 42 0x22 pan_id_0 pan_id_0 pg. 42 0x23 pan_id_1 pan_id_1 pg. 42 0x24 ieee_addr_0 ieee_addr_0 pg. 43 0x25 ieee_addr_1 ieee_addr_1 pg. 43 0x26 ieee_addr_2 ieee_addr_2 pg. 43 0x27 ieee_addr_3 ieee_addr_3 pg. 43 0x28 ieee_addr_4 ieee_addr_4 pg. 43 0x29 ieee_addr_5 ieee_addr_5 pg. 43 0x2a ieee_addr_6 ieee_addr_6 pg. 44 0x2b ieee_addr_7 ieee_addr_7 pg. 44 0x2c xah_ctrl max_frame_retries max_csma_retries reserved pg. 40 0x2d csma_seed_0 csma_seed_0 pg. 41 0x2e csma_seed_1 min_be aack_set_pd reserved i_am_c oord csma_seed_1 pg. 41
82 5131d-zigb-12/03/07 at86rf230 notes: ? reset values in table 12-2 are only valid after a power on reset. after a reset procedure ( rst = l) as described in section 7.1.4.2 the reset val ues of selected registers (e.g. registers 0x01, 0x10, 0x11) can dif fer from that in table 12-2. ? read value of register 0x30 after a reset in state : p_on 0x11 any other state 0x07 table 12-2. register summary ? reset values address reset value address reset value address reset value address reset value 0x00 0x00 0x10 0x00 0x20 0x00 0x30 0x00 0x01 0x00 0x11 0x02 0x21 0x00 0x31 0x00 0x02 0x00 0x12 0xf0 0x22 0x00 032 0x00 0x03 0x19 0x13 0x00 0x23 0x00 0x33 0x00 0x04 0x00 0x14 0x00 0x24 0x00 0x34 0x00 0x05 0x00 0x15 0x00 0x25 0x00 0x35 0x00 0x06 0x00 0x16 0x00 0x26 0x00 0x36 0x00 0x07 0x00 0x17 0x00 0x27 0x00 0x37 0x00 0x08 0x2b 0x18 0x58 0x28 0x00 0x38 0x00 0x09 0xc7 0x19 0x55 0x29 0x00 0x39 0x40 0x0a 0xbc 0x1a 0x5f 0x2a 0x00 0x3a 0x00 0x0b 0xa7 0x1b 0x20 0x2b 0x00 0x3b 0x00 0x0c 0x04 0x1c 0x02 0x2c 0x38 0x3c 0x00 0x0d 0x00 0x1d 0x02 0x2d 0xea 0x3d 0x00 0x0e 0xff 0x1e 0x1f 0x2e 0xc2 0x3e 0x00 0x0f 0x00 0x1f 0x00 0x2f 0x00 0x3f 0x00
83 5131d-zigb-12/03/07 at86rf230 abbreviations aack ? auto acknowledge ack ? acknowledge adc ? analog-to-digital converter agc ? automatic gain control aret ? auto retry avreg ? analog voltage regulator awgn ? additive white gaussian noise batmon ? battery monitor bbp ? base-band processor bg ? band gap reference bom ? bill of material cca ? clear channel assessment crc ? cyclic redundancy check csma ? carrier sense multiple access cw ? continuous wave dclk ? digital clock dcu ? delay calibration unit dvreg ? digital voltage regulator ed ? energy detection esd ? electro static discharge evm ? error vector magnitude fcs ? frame check sequence fcf ? frame control field fifo ? first in first out ftn ? automatic filter tuning gpio ? general purpose input output ism ? industrial, scientific, and medical ldo ? low-drop output lna ? low-noise amplifier lo ? local oscillator lqi ? link-quality indication lsb ? least significant bit mac ? medium access control mfr ? mac footer mhr ? mac header msb ? most significant bit msdu ? mac service data unit msk ? minimum shift keying nop ? no operation o-qpsk ? offset-quadrature phase shift keying pa ? power amplifier
84 5131d-zigb-12/03/07 at86rf230 pan ? personal area network pcb ? printed circuit board per ? packet error rate phy ? physical layer phr ? phy header pll ? phase-locked loop por ? power-on reset ppf ? poly-phase filter prbs ? pseudo random binary sequence psdu ? phy service data unit qfn ? quad flat no-lead package ram ? random access memory rbw ? resolution band width rssi ? received signal strength indicator rx ? receiver sfd ? start-of-frame delimiter shr ? synchronization header spi ? serial peripheral interface sram ? static random access memory ssbf ? single side band filter tx ? transmitter vbw ? video band width vco ? voltage controlled oscillator vreg ? voltage regulator xosc ? crystal stabilized oscillator
85 5131d-zigb-12/03/07 at86rf230 13 ordering information ordering code package voltage range temperature range at86rf230-zu qn 1.8v ? 3.6v industrial (-40 c to + 85 c) lead-free/halogen-free package type description qn 32qn1, 32-lead 5.0x5.0 mm body, 0.50 mm pitch, q uad flat no-lead package (qfn) sawn note: t&r quantity 4,000. please contact your local atmel sales office for mo re detailed ordering information and minimum quantities. 14 soldering information recommended soldering profile is specified in ipc/j edec j-std-.020c. 15 package thermal properties thermal resistance velocity [m/s] theta ja [k/w] 0 40.9 1 35.7 2.5 32.0
86 5131d-zigb-12/03/07 at86rf230 16 package drawing ? 32qn1 title drawing no. gpc rev. packa ge drawing contact: packagedr awi ngs@atmel.com 32qn2 zjz a 32qn2 , 32-lead 5.0 x 5.0 mm bod y, 0.50 mm pitch, quad flat no lead package (qfn) s awn 11/26/07 notes: 1. this drawing is for general information only. refer to jedec d raw ing mo-220, variation vhhd-6, for proper dimensions, tolerances, datums, etc. 2. dimension b applies to metallized terminal and is measured between 0.15 mm and 0.30 mm from the terminal tip. if the terminal has the optional rad ius on the other end of the terminal, the dimension should not be measured in that rad ius area. common dimensions (unit of measure = mm) symbol min nom max note d 5.00 bsc e 5.00 bsc d2 3.20 3.30 3.40 e2 3.20 3.30 3.40 a 0.80 0.90 1.00 a1 0.0 0.02 0.05 a2 0.0 0.65 1.00 a3 0.20 ref l 0.30 0.40 0.50 e 0.50 bsc b 0.18 0.23 0.30 2 pin 1 corner pin 1 corner side view bottom view top view a3 l b e2 d2 e e d a a1 a2
87 5131d-zigb-12/03/07 at86rf230 appendix a - continuous transmission test mode the continuous transmission test mode offers the fo llowing features: ? continuous frame transmission ? continuous wave signal transmission a.1 - overview the at86rf230 offers a continuous transmission test mode to support final application/production tests as well as certificati on tests. using this test mode the radio transceiver transmits continuously a previously dow nloaded frame data (prbs mode) or a continuous wave signal (cw mode). in cw mode three different signal frequencies can b e transmitted: f 1 = f ch ? 2 mhz f 2 = f ch + 0.5 mhz f 3 = f ch - 0.5 mhz where f ch is the center frequency of the current programmed cannel in register 0x08 (phy_cc_cca). note that it is not possible to trans mit a cw signal on the channel center frequency. before starting a cw signal trans mission valid data needs to be downloaded to the frame buffer (refer to section 6. 2.2), e.g a phr field denotes a frame length of 1 and one octet psdu data. in prbs mode the transmission center frequency is f ch . data downloaded to the frame buffer must contain at least a valid frame length f ield (see sections 8.1 and 9.1). it is recommended to use a frame of maximum length (127 b ytes) and arbitrary psdu data. in contrast to normal frame transmission here the s hr and the phr are not transmitted. the transmission starts with the psdu data and is repeated continuously. a.2 - configuration before enabling the continuous transmission test mo de (tst = 1) all register configurations shall be done as follows: ? radio transceiver initialization (trx_status = trx _off) ? tx channel selection (optional) ? tx output power setting (optional) ? frame data download (random sequence of max. lengt h) ? mode selection (prbs/cw) setting tst = 1 enables the continuous transmission test mode. the test system or a microcontroller has to overwrite the pull down resi stor r1 connected to the tst pin (see figure 5-1). the pull down resistor ensures a disab led test functionality during normal operation (tst = 0). the transmission is started after enabling the pll (trx_cmd = pll_on) and writing the tx_start command to register 0x02. the detailed programming sequence is shown in figur e a-1.
88 5131d-zigb-12/03/07 at86rf230 figure a-1. programming sequence - continuous transmission configure continuous tx (2) reset write 0x10 to register 0x03 write 0x33 to register 0x08 write 0x00 to register 0x05 write f_word to register 0x3d write 0x01 to register 0x0e write 0x0f to register 0x36 set pin tst = h write 0x03 to register 0x02 write 0x09 to register 0x02 write 0x02 to register 0x02 set pin tst = l signal measurement (use rfp|rfn) read register 0x01 reset 0x08 1 2 3 4 5 6 12 13 14 15 17 frame download set irq_mask register (enable pll_lock) set trx_state register (state = force_trx_off) set clkm set channel (f ch ) set tx output power (maximum tx output power) modulated (f ch ): f_word = 0x00 cw (f ch - 2.0mhz): f_word = 0x10 cw (f ch - 0.5mhz): f_word = 0x80 cw (f ch + 0.5mhz): f_word = 0xc0 configure continuous tx (1) 9 enable continuous tx test mode (tst = h) 11 set trx_state register (state = pll_on) interrupt: pll_lock (irq1) set trx_state register (state = tx_start) reset tst for normal operation (tst = l) 16 load tx frame to frame buffer 8 10 7 verify trx_off state read register 0x0f 0x01 required setting optional setting legend: tst pin setting special settings for continuous tx a.3 - disclaimer the functionality of the continuous transmit mode i s not characterized by atmel and therefore not guaranteed. the normal operation of the at86rf230 is only guara nteed if pin tst is always logic low.
89 5131d-zigb-12/03/07 at86rf230 appendix b - errata at86rf230 rev. b no known errata. at86rf230 rev. a 3. data frames with destination address=0xffff is a cknowledged in rx_aack according to ieee 802.15.4-2003 data frames with de stination address=0xffff (broadcast) should not have the acknowledgment requ est subfield set in the frame control field. if such a non-standard compliant dat a frame arrives, a device in rx_aack state acknowledges that frame. fix/workaround use only standard compliant frames, i.e. do not ini tiate frames with destination address=0xffff (broadcast) and the acknowledgment r equest subfield set. 4. frame upload in rx_aack the following frames are not uploaded: (1) data frames and command frames with destination pan id=0xffff and extended destination addressing mode (2) beacon frames, when the pan id of the receiving node is set to 0xffff. fix/workaround (1) use basic operating mode for orphan scanning (2) use basic operating mode for network scanning 5. tx_aret returns trac_status=success even though transaction failed it might happen that under very special conditions (e.g. noisy network environment) the status bit trac_status (register 0x02) after tr ansmission of a frame is success even though the transaction failed. example a node transmits a frame with the acknowledgment re quest subfield set to logic high and waits for an incoming ack. if no frame is recei ved at the end of the ack wait period (54 symbols), but a valid preamble is detect ed (e.g. jammer/interferer signal), the tx_aret procedure is finished immediately. a tr x_end interrupt is generated. the trac_status is not updated and thus shows the d efault value success. fix/workaround the workaround comprises two changes: 1. set register bits max_frame_retries to 0. this p revents any retransmissions in the tx_aret procedure. the frame retransmission has to be implemented in s/w. a retransmission does not re quire a frame download again, only tx_start command is necessary. 2. control of the tx_aret procedure should follow t hese steps: o trx_status == tx_aret_on o set trx_cmd = tx_start and download frame o poll for trx_status == busy_tx_aret
90 5131d-zigb-12/03/07 at86rf230 o set trx_cmd = rx_on o wait for trx_end irq o read trac_status o set trx_cmd = tx_aret_on o poll for trx_status == tx_aret_on switching to rx_on is not executed during busy_tx_a ret but immediately after busy_tx_aret has completed. this enables the receiv er to receive a frame which arrives shortly before the end of the ack wait peri od. in this case trac_status is not accidentally set to success and is still correc t (no_ack), as long as the frame is received. that means the software has additional time to read the trac_status. using the workaround mentioned above, the failure o ccurrence is considerably reduced. a wrong trac_status can still be observed, but very seldom (one of million transmissions). 6. sensitivity to continuous wave interferers due to the high receiver sensitivity continuous wav e interferers may cause rx_start interrupts. this may result in missed fram es since the receiver is kept busy detecting preambles and sfd. one cause of cont inuous wave interferers may be due to crosstalk from clock. fix/workaround for further details see application note avr2005 "d esign considerations for the at86rf230". 7. trx_end_irq occurs sometimes too late in tx_aret _on state this behavior can be observed, if the procedure tx_ aret performs frame retransmissions. fix/workaround set register bit max_frame_retries = 0 (register 0x 2c) and implement frame retries by software. a frame retransmission does no t require downloading the frame again, only tx_start command is necessary. 8. tx_aret ack wait time too short the maximum number of symbols waiting for an acknow ledgment frame should be 54 symbols as defined in ieee 802.15.4-2003. the im plemented waiting time is 46 symbols. fix/workaround none 9. cca request is not executed a requested cca may be rejected without execution. in this case the cca_done bit indicates ?cca calculation in progress? even though the calculation must be finished already. fix/workaround the trx_status is rx_on. to initiate a cca request, switch to pll_on state and back to rx_on state. immediately after the stat e change initiate a cca request. it is not necessary to confirm the state changes.
91 5131d-zigb-12/03/07 at86rf230 references [1] ieee std 802.15.4-2003: wireless medium access control (mac) and physical layer (phy) specifications for low-rate wireless pe rsonal area networks (lr-wpans) [2] ansi / esd-stm5.1-2001: esd association standar d test method for electrostatic discharge sensitivity testing ? human body model (hbm) [3] esd-stm5.3.1-1999: esd association standard tes t method for electrostatic discharge sensitivity testing ? charged device mode l (cdm)
92 5131d-zigb-12/03/07 at86rf230 data sheet revision history rev. 5131d-zigb-12/03/07 the at86rf230 data sheet was fully revised and modi fications of silicon revision at86rf230 rev. b were incorporated. a migration not e of silicon revision a to revision b is available on www.atmel.com . the most important modifications are: 1. device version number in register 0x1d (version_ num) changed to 2 (section 6.3) 2. spi interface: miso pin is updated on falling ed ge at pin sclk (section 6.1) 3. extended operating mode state diagram: state cha nges towards rx_aack_on and tx_aret_on (figure 7-5) 4. enhanced return code of tx_aret transaction in r egister bits trac_status of register 0x02 (section 7.2.3.2) 5. fcs check of received frames in basic operating mode (section 8.2) 6. support of pending data indication in extended o perating mode (sections 7.2.3.1, 7.2.3.2) 7. update package drawing (section 16) rev. 5131c-zigb-05/22/07 1. major revise of sections 1 to 10 2. added ?appendix a - continuous transmission test mode? 3. added ?appendix b - errata? rev. 5131a-zigb-06/14/06 1. initial release
93 5131d-zigb-12/03/07 at86rf230 table of contents 1 pin-out diagram .................................. ................................................ 2 disclaimer......................................... ................................................... ... 2 2 overview ......................................... ................................................... .. 2 3 general circuit description...................... .......................................... 3 4 pin description.................................. .................................................. 4 4.1 supply and ground pins ......................... ................................................... ............ 4 4.2 analog and rf pins ............................. ................................................... ............... 5 4.3 digital pins................................... ................................................... ........................ 6 4.3.1 driver strength settings of digital output pi ns................................................. ............. 6 4.3.2 pull-up and pull-down configuration of digita l input pins ....................................... ...... 7 4.3.3 register description ......................... ................................................... .......................... 7 5 application circuit .............................. ................................................ 8 6 microcontroller interface ........................ .......................................... 10 6.1 spi timing description......................... ................................................... ............. 11 6.2 spi protocol................................... ................................................... .................... 12 6.2.1 register access mode......................... ................................................... ..................... 12 6.2.2 frame buffer access modes .................... ................................................... ................ 13 6.2.3 sram access mode............................. ................................................... .................... 14 6.3 radio transceiver identification ............... ................................................... ......... 16 6.3.1 register description ......................... ................................................... ........................ 16 6.4 sleep/wake-up and transmit signal (slp_tr)..... .............................................. 17 6.5 interrupt logic................................ ................................................... .................... 19 6.5.1 overview ..................................... ................................................... ............................. 19 6.5.2 register description ......................... ................................................... ........................ 20 7 operating modes.................................. ............................................. 21 7.1 basic operating mode........................... ................................................... ............ 21 7.1.1 state control ................................ ................................................... ............................ 21 7.1.2 basic operating mode description ............. ................................................... .............. 22 7.1.3 interrupt handling in basic operating mode... ................................................... .......... 24 7.1.4 basic mode timing............................ ................................................... ....................... 25 7.1.5 register description ......................... ................................................... ........................ 27 7.2 extended operating mode ........................ ................................................... ........ 29 7.2.1 state control ................................ ................................................... ............................ 31 7.2.2 configuration ................................ ................................................... ............................ 32 7.2.3 extended operating mode description.......... ................................................... ........... 33 7.2.4 interrupt handling in extended operating mode ................................................... ...... 37 7.2.5 register summary............................. ................................................... ....................... 38 7.2.6 register description ? control registers..... ................................................... ............. 38 7.2.7 register description ? address registers ..... ................................................... ........... 42 8 functional description ........................... .......................................... 45 8.1 introduction - frame format.................... ................................................... .......... 45 8.1.1 phy protocol layer data unit (ppdu).......... ................................................... ........... 45
94 5131d-zigb-12/03/07 at86rf230 8.1.2 mac protocol layer data unit (mpdu).......... ................................................... .......... 46 8.2 frame check sequence (fcs) ..................... ................................................... .... 48 8.2.2 crc calculation.............................. ................................................... .......................... 48 8.2.3 automatic fcs generation ..................... ................................................... .................. 49 8.2.4 automatic fcs check .......................... ................................................... ..................... 49 8.2.5 register description ......................... ................................................... ........................ 49 8.3 energy detection (ed) .......................... ................................................... ............ 50 8.3.1 overview ..................................... ................................................... ............................. 50 8.3.2 request an ed measurement .................... ................................................... .............. 50 8.3.3 data interpretation.......................... ................................................... .......................... 51 8.3.4 register description ......................... ................................................... ........................ 51 8.4 received signal strength indicator (rssi) ...... ................................................... . 51 8.4.1 overview ..................................... ................................................... ............................. 52 8.4.2 reading rssi................................. ................................................... .......................... 52 8.4.3 data interpretation.......................... ................................................... .......................... 52 8.4.4 register description ......................... ................................................... ........................ 52 8.5 link quality indication (lqi) .................. ................................................... ............ 53 8.5.1 overview ..................................... ................................................... ............................. 53 8.5.2 request an lqi measurement ................... ................................................... .............. 53 8.5.3 data interpretation.......................... ................................................... .......................... 54 8.6 clear channel assessment (cca)................. ................................................... ... 54 8.6.1 overview ..................................... ................................................... ............................. 54 8.6.2 cca configuration and request ................ ................................................... .............. 55 8.6.3 data interpretation.......................... ................................................... .......................... 55 8.6.4 register description ......................... ................................................... ........................ 55 9 module description............................... ............................................ 58 9.1 receiver (rx) .................................. ................................................... .................. 58 9.1.1 overview ..................................... ................................................... ............................. 58 9.1.2 configuration ................................ ................................................... ............................ 58 9.2 transmitter (tx) ............................... ................................................... ................. 58 9.2.1 overview ..................................... ................................................... ............................. 58 9.2.2 configuration ................................ ................................................... ............................ 59 9.2.3 register description ......................... ................................................... ........................ 59 9.3 frame buffer................................... ................................................... ................... 60 9.3.1 frame buffer data management ................. ................................................... ............. 60 9.3.2 user accessible frame content ................ ................................................... ............... 60 9.3.3 frame buffer interrupt handling .............. ................................................... ................. 61 9.4 voltage regulators (avreg, dvreg) .............. .................................................. 6 2 9.4.1 overview ..................................... ................................................... ............................. 62 9.4.2 configure the voltage regulators ............. ................................................... ............... 63 9.4.3 data interpretation.......................... ................................................... .......................... 63 9.4.4 register description ......................... ................................................... ........................ 63 9.5 battery monitor (batmon) ....................... ................................................... ........ 64 9.5.1 overview ..................................... ................................................... ............................. 64 9.5.2 data interpretation.......................... ................................................... .......................... 65 9.5.3 batmon interrupt handling.................... ................................................... ................. 65 9.5.4 register description ......................... ................................................... ........................ 65 9.6 crystal oscillator (xosc)...................... ................................................... ............ 66
95 5131d-zigb-12/03/07 at86rf230 9.6.1 overview ..................................... ................................................... ............................. 67 9.6.2 integrated oscillator setup .................. ................................................... ..................... 67 9.6.3 external reference frequency setup ........... ................................................... ........... 68 9.6.4 master clock signal output (clkm)............ ................................................... ............. 68 9.6.5 register description ......................... ................................................... ........................ 69 9.7 frequency synthesizer (pll).................... ................................................... ........ 71 9.7.1 overview ..................................... ................................................... ............................. 71 9.7.2 rf channel selection......................... ................................................... ...................... 71 9.7.3 calibration loops ............................ ................................................... ......................... 71 9.7.4 pll interrupt handling....................... ................................................... ....................... 72 9.7.5 register description ......................... ................................................... ........................ 72 9.8 automatic filter tuning (ftn) .................. ................................................... ......... 74 10 radio transceiver usage ......................... ...................................... 75 10.1 frame receive procedure ....................... ................................................... ....... 75 10.2 frame transmit procedure ...................... ................................................... ....... 75 11 technical parameters............................ ......................................... 77 11.1 absolute maximum ratings...................... ................................................... ....... 77 11.2 recommended operating range................... ................................................... . 77 11.3 digital pin specifications .................... ................................................... ............. 77 11.4 digital interface timing specifications ....... ................................................... ..... 78 11.5 general rf specifications..................... ................................................... .......... 78 11.6 transmitter specifications .................... ................................................... ........... 79 11.7 receiver specifications ....................... ................................................... ............ 79 11.8 current consumption specifications ............ ................................................... ... 80 11.9 crystal parameter requirements ................ ................................................... .... 80 12 register reference .............................. ........................................... 81 abbreviations ...................................... ................................................. 83 13 ordering information ............................ .......................................... 85 14 soldering information........................... .......................................... 85 15 package thermal properties...................... .................................... 85 16 package drawing ? 32qn1 ......................... .................................... 86 appendix a - continuous transmission test mode ..... .................... 87 a.1 - overview ..................................... ................................................... .................... 87 a.2 - configuration................................ ................................................... ................... 87 a.3 - disclaimer ................................... ................................................... .................... 88 appendix b - errata ................................ ............................................. 89 at86rf230 rev. b ................................... ................................................... .............. 89 at86rf230 rev. a ................................... ................................................... .............. 89 references......................................... ................................................... 91
96 5131d-zigb-12/03/07 at86rf230 data sheet revision history ........................ ....................................... 92 rev. 5131d-zigb-12/03/07........................... ................................................... .......... 92 rev. 5131c-zigb-05/22/07........................... ................................................... .......... 92 rev. 5131a-zigb-06/14/06........................... ................................................... .......... 92 table of contents.................................. ............................................... 93
97 5131d-zigb-12/03/07 at86rf230
98 5131d-zigb-12/03/07 at86rf230 disclaimer headquarters international atmel corporation 2325 orchard parkway san jose, ca 95131 usa tel: 1(408) 441-0311 fax: 1(408) 487-2600 atmel asia room 1219 chinachem golden plaza 77 mody road tsimshatsui east kowloon hong kong tel: (852) 2721-9778 fax: (852) 2722-1369 product contact atmel europe le krebs 8, rue jean-pierre timbaud bp 309 78054 saint-quentin-en- yvelines cedex france tel: (33) 1-30-60-70-00 fax: (33) 1-30-60-71-11 atmel japan 9f, tonetsu shinkawa bldg. 1-24-8 shinkawa chuo-ku, tokyo 104-0033 japan tel: (81) 3-3523-3551 fax: (81) 3-3523-7581 web site www.atmel.com technical support avr@atmel.com sales contact www.atmel.com/contacts literature request www.atmel.com/literature disclaimer: the information in this document is provided in co nnection with atmel products. no license, express o r implied, by estoppel or otherwise, to any intellectual property right is granted by this docu ment or in connection with the sale of atmel produc ts. except as set forth in atmel?s terms and conditions of sale located on atmel?s web site, atm el assumes no liability whatsoever and disclaims an y express, implied or statutory warranty relating to its products incl uding, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or non-infringeme nt. in no event shall atmel be liable for any direc t, indirect, consequential, punitive, special or incidental dama ges (including, without limitation, damages for los s of profits, business interruption, or loss of information) aris ing out of the use or inability to use this documen t, even if atmel has been advised of the possibility of such damages. atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and product descrip tions at any time without notice. atmel does not ma ke any commitment to update the information contained here in. unless specifically provided otherwise, atmel p roducts are not suitable for, and shall not be used in, automotive applications. atmel?s products are not i ntended, authorized, or warranted for use as compon ents in applications intended to support or sustain life. ? 2007 atmel corporation. all rights reserved . atmel?, logo and combinations thereof, and others , are the registered trademarks or trademarks of atmel corporation or its subsidiaries . other terms and product names may be trademarks o f others.


▲Up To Search▲   

 
Price & Availability of AT86RF231

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X